有谁知道是否有办法配置 jquery ui 可选元素以在单击时取消选择选定元素?有点像拨动开关。如果它已被选中,请取消选中它,否则执行默认行为。
谢谢。
有谁知道是否有办法配置 jquery ui 可选元素以在单击时取消选择选定元素?有点像拨动开关。如果它已被选中,请取消选中它,否则执行默认行为。
谢谢。
i'm very late in responding to your question, but let me just answer it anyway so that to keep it as a reference for others.
$( ".selector" ).bind( "mousedown", function ( e ) {
e.metaKey = true;
} ).selectable();
this will allow the toggle behavior that you're looking for.
好吧,这就是我刚刚结束的事情。我使用类名来切换选择和取消选择。我很想听听是否有其他选择:
$("#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-selected 类。
$("#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" ).selectable({
unselected: function(event, ui) { ... }
});
Bind to the unselected event by type: selectableunselected.
$( ".selector" ).bind( "selectableunselected", function(event, ui) {
...
});
资源: