禁用ctrl-单击jquery ui selectable

时间:2011-04-01 19:25:24

标签: jquery jquery-ui jquery-ui-selectable

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

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

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

3 个答案:

答案 0 :(得分:12)

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

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

jsFiddle here

答案 1 :(得分:3)

上面这个好的解决方案还有另外一种用法 - 如果你想只使用你的鼠标点击来完成所有选择/取消选择,而不需要按住 Ctrl 进行多选或取消选择 - 只需将EvilAmarant7x示例中的e.metaKey设置为true即可。这正是我所需要的。

编辑:显然有人已经想到了这一点:Implement multiple selects with jQuery UI Selectable:)

答案 2 :(得分:2)

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