禁用ctrl-单击jquery ui selectable

我想知道jQuery UI Selectable上是否有一个选项可以让我禁用Ctrl + Click,但仍保留多个选择的可拖动选项。 在我的项目中,我希望人们可以选择倍数,但只能通过拖动,而不是通过Ctrl +单击。

如果没有,有没有人知道我能做到这一点的方法?

任何信息都会非常有用! :) 谢谢!!!

Selectable使用metaKey标志进行多选,因此您可以在调用selectable之前将metaKey绑定到mousedown上为false。 然后按Ctrl +单击将始终关闭。 确保在调用selectable之前绑定。

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

jsFiddle 在这里

上面这个好的解决方案还有另外一种用法 – 如果你想只使用你的鼠标点击进行所有选择/取消选择,而不需要按住Ctrl进行多选或取消选择 – 只需要总是设置e.metaKey从EvilAmarant7x的例子到true。 这正是我所需要的。

编辑:显然有人已经想到了: 使用jQuery UI实现多个选择可选 🙂

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