jQuery UI Selectable - 单击时取消选择所选项目

feh*_*ays 14 jquery jquery-ui unselect selectable jquery-ui-selectable

有没有人知道是否有办法配置一个jquery ui可选元素来单击它时取消选中所选元素?有点像切换.如果已选中,则取消选择,否则执行默认行为.

谢谢.

小智 40

我回答你的问题已经很晚了,但是我还是要回答它,以便将其作为其他人的参考.

$( ".selector" ).bind( "mousedown", function ( e ) {
    e.metaKey = true;
} ).selectable();
Run Code Online (Sandbox Code Playgroud)

这将允许您正在寻找的切换行为.

  • 这只是将metaKey(Ctrl)添加到"mousedown"事件中,这会强制执行与您自己按Ctrl键相同的行为. (3认同)
  • 我看到它按预期工作但老实说,我不明白怎么做!你能解释一下为什么这段代码正常工作(我的意思是如何在第二次点击时取消选择?) (2认同)

feh*_*ays 11

那么这就是我刚刚做的事情.我用类名来切换选择和取消选择.我很想知道是否还有其他选择:

$("#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');
    }
});
Run Code Online (Sandbox Code Playgroud)