jQuery UI可选-单击取消选择所选项目
有人知道有没有办法将jquery ui可选元素配置为在单击时取消选择所选元素?有点像开关。如果已选中,请取消选中它,否则执行默认行为 谢谢。这就是你的意思吗 在选择操作结束时,从选择中删除的每个元素都会触发此事件 代码示例 提供回调函数以将未选择的事件作为init选项处理jQuery UI可选-单击取消选择所选项目,jquery,jquery-ui,selectable,jquery-ui-selectable,unselect,Jquery,Jquery Ui,Selectable,Jquery Ui Selectable,Unselect,有人知道有没有办法将jquery ui可选元素配置为在单击时取消选择所选元素?有点像开关。如果已选中,请取消选中它,否则执行默认行为 谢谢。这就是你的意思吗 在选择操作结束时,从选择中删除的每个元素都会触发此事件 代码示例 提供回调函数以将未选择的事件作为init选项处理 $( ".selector" ).selectable({ unselected: function(event, ui) { ... } }); Bind to the unselected event by type
$( ".selector" ).selectable({
unselected: function(event, ui) { ... }
});
Bind to the unselected event by type: selectableunselected.
$( ".selector" ).bind( "selectableunselected", function(event, ui) {
...
});
资料来源:
好吧,这就是我最后要做的。我使用了一个类名来切换选择和取消选择。我很想知道是否还有其他选择:
$("#selectable").selectable({
selected: function (event, ui) {
if ($(ui.selected).hasClass('selectedfilter')) {
$(ui.selected).removeClass('selectedfilter');
// do unselected stuff
} else {
$(ui.selected).addClass('selectedfilter');
// do selected stuff
}
},
unselected: function (event, ui) {
$(ui.unselected).removeClass('selectedfilter');
}
});
如果希望保留现有的选择,但仍有切换操作,只需忽略给定解决方案的未选择事件。您还需要删除所选的ui类
$("#selectable").selectable({
selected: function (event, ui) {
if ($(ui.selected).hasClass('selectedfilter')) {
$(ui.selected).removeClass('selectedfilter').removeClass('ui-selected');
// do unselected stuff
} else {
$(ui.selected).addClass('selectedfilter').addClass('ui-selected');
// do selected stuff
}
}
});
我已经很晚才回答你的问题了,但还是让我来回答吧,以备他人参考
$( ".selector" ).bind( "mousedown", function ( e ) {
e.metaKey = true;
} ).selectable();
这将允许您正在寻找的切换行为。我需要的是在单击选定元素时触发此未选定事件。现在,这个事件只有在我点击另一个可选元素时才会触发。啊,好吧,现在我得到你想要的了!很抱歉没问题,特鲁法。我肯定我没解释清楚。感谢您的帮助。请注意,要切换类名,只需使用“toggleClass(“selectedFilter”)”。不需要检查元素是否有类。ToggleClass为您做了这件事。我看到它按预期工作,但老实说,我不明白怎么做!你能解释一下为什么这段代码在工作吗(我的意思是它是如何在第二次点击时取消选中的?)这只是在“mousedown”事件中添加了元键(Ctrl),这会强制执行与你自己按下Ctrl相同的行为。