2011-04-01 47 views
8

我想知道是否有一個選項,在jQuery UI選擇,這將讓我禁用Ctrl +點擊,但仍然保持多選的可拖動。在我的項目中,我希望能夠讓人們選擇倍數,但只能通過拖動,而不能通過按Ctrl +點擊。禁用ctrl點擊jquery ui可選

如果沒有,有沒有人知道我可以做到這一點?

任何信息都會非常有幫助! :) 謝謝!!!

回答

11

Selectable使用metaKey標誌來做多選,所以你可以在調用selectable之前綁定metaKey在mousedown上是false。然後Ctrl +點擊將始終關閉。確保在調用selectable之前進行綁定。

$('#selectable').bind("mousedown", function (e) { 
      e.metaKey = false; 
}).selectable() 

的jsfiddle here

+0

太感謝你了! :)我一直在尋找這個好幾天。呵呵。 – typefasterjoel 2011-04-01 19:45:49

+2

爲了防萬一有人(像我)在這裏得到並試圖實現相反的目標(允許多選而不用Ctrl) - 執行'e.metaKey = true;' – 2013-07-23 09:53:11

3

上面有這很好的解決方案的另一個用途 - 如果你希望能夠只使用你的鼠標點擊來完成所有的選擇/取消選擇,而不需要保持Ctrl用於多重選擇或取消選擇 - 只需將EvilAmarant7x示例中的e.metaKey設置爲true即可。這正是我所需要的。

編輯:顯然有人已經想到這一點:Implement multiple selects with jQuery UI Selectable :)

1
$("#selectable").on("selectablestart", function (event, ui) { 
event.originalEvent.ctrlKey = false; 
});