Javascript jQuery UI可选小部件使用鼠标拖动多次取消选择
我正在使用jQueryUI可选小部件。我在上看到了一个解决方案,可以启用多个选择(使用鼠标拖动),效果很好。现在我正在尝试使用类似的功能来取消选择多个不起作用的元素Javascript jQuery UI可选小部件使用鼠标拖动多次取消选择,javascript,jquery,jquery-ui,jquery-ui-selectable,Javascript,Jquery,Jquery Ui,Jquery Ui Selectable,我正在使用jQueryUI可选小部件。我在上看到了一个解决方案,可以启用多个选择(使用鼠标拖动),效果很好。现在我正在尝试使用类似的功能来取消选择多个不起作用的元素 $('#selectlist').on("mousedown", function (e) { e.metaKey = true; //multiple select true //e.ctrlKey = true; }).selectable({ filter: '.select-li', sele
$('#selectlist').on("mousedown", function (e) {
e.metaKey = true; //multiple select true
//e.ctrlKey = true;
}).selectable({
filter: '.select-li',
selecting: function (event, ui) {
debugger;
//if ($(ui.selecting).hasClass('li-planned')) {
// $(ui.selecting).removeClass("ui-selecting");
//}
},
unselecting: function (event, ui) {
//if ($(ui.unselecting).hasClass('li-planned')) {
// $(ui.unselecting).removeClass("ui-unselecting").addClass('ui-selected');
//}
},
stop: function (event) {
//debugger;
//do some work here
}
})
我尝试了多种选择来实现,但到目前为止,我无法实现。任何帮助都将不胜感激。您只需通过
$( "#selectlist" ).selectable();
您可以在可选择项上进行多项选择,而无需按下鼠标
1.b。在列表中选择一个空白区域(列表1和列表2之间的空格),所有区域都将取消选择
2.在取消选择的同时按Ctrl键 请参见jQuery ui的演示
$(函数(){
$(“#可选”).bind(“鼠标向下”,函数(e){
e、 metaKey=true;
}).可选();
$(“#可选”)。可选({
所选:功能(事件、用户界面){
if(!$(ui.selected).hasClass('selected-flag')){
$(ui.selected).addClass('selected-flag');
}否则{
$(ui.selected).removeClass(“ui selected标志”);
}
}
});
});代码>
#反馈{
字号:1.4em;
}
#可选。用户界面选择{
背景#FECA40;
}
#可选择。用户界面已选择{
背景:#F39814;
颜色:白色;
}
#可选的{
列表样式类型:无;
保证金:0;
填充:0;
宽度:60%;
}
#可选锂{
保证金:3倍;
填充:0.4em;
字号:1.4em;
高度:18px;
}
第1项
第2项
第3项
第4项
第5项
第6项
我想阿米努尔是根据给出的信息回答了你的问题的。在阅读他回答下的反馈之前,我可能以为你是在追求这个目标
这是另一个建议。如果用户开始拖动已选中的项目,则此建议基本上会清除所有选中的项目。当你说要取消选择多个元素时,也许这就是你想要的
$(function() {
$("#selectable").bind("mousedown", function(e) {
if(e.target.className.indexOf('ui-selected') === -1){
e.metaKey = true;
}
}).selectable();
});
您也可以发布支持html吗?这可能会有所帮助-演示URL不支持多个取消选择。正如我前面提到的,当我再次单击列表时,我希望保留选择。这就是为什么我要设置e.metaKey=true
。谢谢你的回答。在我做了更多的研究之后,我一直在做同样的事情,但这看起来像是一个黑客行为,而不是一个永久的解决方案。这就是为什么我要悬赏,如果有任何内置功能,我可以利用,而不是调用选定的事件,然后取消选择。在你的问题中,你说过你无法实现这一点看起来是一个有效的解决方案,我不知道有更“内置”的方式来实现这一点,然后点击“选定”事件。特雷弗,你说得对。阿米努尔的回答是我到目前为止得到的最接近的回答。只是我希望获得更多的本地方法。我现在结束这项悬赏。谢谢阿米努尔。