我想知道jQuery UI Selectable上是否有一个选项可以让我禁用 Ctrl + Click,但仍然可以保留多个选择的可拖动。在我的项目中,我希望人们可以选择倍数,但只能通过拖动,而不是通过 Ctrl +点击。
如果没有,有没有人知道我能做到这一点的方法?
任何信息都会非常有用! :)谢谢!
答案 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;
});