2013-03-12 1 views
1

마우스 끌기 이벤트에서 다중 선택 옵션을 비활성화하려면 Ctrl 키를 누른 상태에서 하나씩 여러 개 선택할 수 있습니다. 문제는 선택 이벤트에서 아약스 서비스 호출을 보내고 상당한 수의 큰 옵션을 선택하면 일부를 건너 뜁니다. 디버깅 모드에서는 각 호출이 중단 점에 따라 보내지는 경우 잘 실행됩니다.Jquery 마우스를 드래그하여 다중 선택을 선택 취소 할 수 있습니다.

+0

그래서 Ctrl + 마우스를 사용하여 여러 항목을 선택하지 않으시겠습니까? – jaychapani

+1

항목을 클릭하고 드래그하면 마우스가 선택한 영역의 사각형을 만듭니다 http://jqueryui.com/selectable/ –

+1

http://forum.jquery.com/topic/disable-multiple-select -for-jquery-selectable-ui. 왜 이것이 비논리적인지 설명합니다. ajax 서비스 호출을 수정할 수 있도록 코드를 제공하십시오. – Dom

답변

0

내가 지금까지 발견 한 유일한 방법은 코드를 해킹하는 것입니다! 현재 소스 코드는 다음과 같습니다. https://github.com/jquery/jquery-ui/blob/master/ui/selectable.js

기본적으로 _mouseDrag을 제거하고 _mouseStart_mouseStop으로 남겨 두어야합니다. 덜 침략적이라면 특별한 옵션을 추가하는 것이고, 깃발이 설정되어 있다면 맨 위의 _mouseDrag으로 돌아옵니다.


BTW, 내 유스 케이스는 당신보다 간단하다 : 복수하기 위해 드래그뿐만 아니라 필요하지 않습니다 선택할 수 있지만 실제로 방식으로 가져옵니다. "get in the way"는 항목을 선택하기 위해 ctrl- 클릭 한 다음 ctrl- 클릭하여 선택을 해제하면됩니다. 그러나 Ctrl 키를 누른 상태에서 클릭을 해제하는 동안 마우스를 드래그하면 (약간만) mouseDrag 이벤트가 처리되므로 Ctrl 버튼이 무시되고 다시 선택됩니다. 즉, 선택 취소가 실패합니다. 그것이 사용자가 말하는 techie 설명입니다. Ctrl 키를 누른 상태에서 클릭하여 선택을 취소하면 작동하지 않는 경우가 있습니다.