2017-05-04 7 views
0

선택한 항목 영역에서 스크롤 막대를 클릭하면 다중 선택 컨트롤이 항목을 표시하도록 확장되지 않도록 할 수 있습니까?검도 다중 선택 스크롤바 클릭 트리거가 감소합니다.

여기에 "문제"의 example이 있습니다. 적어도 이것이 바람직한 기능이 아니길 바랄 것입니다. 선택한 항목을 아래/위로 스크롤하여 다중 선택 컨트롤 내에서 선택 가능한 항목을 노출시키지 않을 것으로 기대합니다.

은 스크롤바를 클릭하기 전에 : 스크롤 막대를 클릭

Before scrollbar click

후 :

After scrollbar click

답변

1

다중 선택 목록은 다중 선택 위젯에 mousedown 이벤트에 열립니다. 그리고 click 이벤트와 달리 mousedown 이벤트는 요소 스크롤바를 클릭 할 때 트리거됩니다.

이 동작을 변경하는 가장 간단한 방법은 다중 선택을 여는 이벤트를 변경하는 것입니다. 그래서 먼저는 orginal 한 이벤트 중지해야 :

var multiselectwrap = multiselect.element.closest('.k-multiselect').find('.k-multiselect-wrap'); 
multiselectwrap.on('mousedown', function(e){ 
    e.stopPropagation(); 
}); 

을하고 두 번째는 클릭에 열린 다중 선택을 트리거 할 수 있습니다

multiselectwrap.on('click', function(e){ 
    multiselect.open(); 
}); 
예와

검도 도장 : http://dojo.telerik.com/urUYU

당신이 위젯 개방을 유지하려면 mousedown에서 이벤트에서 마우스 위치를 사용하고 스크롤을 클릭했는지 여부를 확인해야만이 코드가 복잡해집니다.

+0

정확히 내가 무엇을했는지, 감사합니다. – Sandman