Javascript 使用jQuery取消选择所选区域

Javascript 使用jQuery取消选择所选区域,javascript,jquery,html,selectable,Javascript,Jquery,Html,Selectable,我有以下HTML: <div class="folders block"> <div class="ui-widget-content"> <table class="folders-list"> <tbody class="folder"> <tr><td style="text-align: center">П

我有以下HTML:

<div class="folders block">
    <div class="ui-widget-content">            
         <table class="folders-list">
             <tbody class="folder">
                  <tr><td style="text-align: center">Папки: </td></tr>
                  <tr class="folder-name"><td><i class="fa fa-folder-open"></i><span>Всички</span></td></tr>          
             </tbody>
         </table>
    </div>
</div>

当我想取消选择所选项目时,一切正常,请接受。无论我点击哪里,都不会发生任何事情。我找不到任何有帮助的东西

如果我理解正确,没有简单的方法可以做到这一点,但你可以使用一个技巧

当用户单击容器外的某个位置(
.folder
)时,您应该做两件事:

  • 删除所选项目的
    .ui selected
  • 清除小部件实例的选定列表
  • 注意:这是一个通用的解决方案,因此可能会与您的其他代码(
    $('html')发生冲突。例如,单击
    ),请小心

    到代码:

    $(“#可选”).selective()。单击(函数(事件){
    event.stopPropagation();
    });
    $('html')。单击(函数(){
    变量ins=$(“#可选”).可选(“实例”);
    //清除所选列表
    ins.selectees=[];
    //删除选定的类
    ins.element.find('.ui-selected').removeClass('ui-selected');
    });
    
    #反馈{字体大小:1.4em;}
    #可选。用户界面选择{背景:#FECA40;}
    #可选。ui已选择{背景:#F39814;颜色:白色;}
    #可选{列表样式类型:无;边距:0;填充:0;宽度:60%;}
    #可选li{边距:3px;填充:0.4em;字体大小:1.4em;高度:18px;}
    
    第1项
    第2项
    第3项
    第4项
    第5项
    第6项
    第7项
    
    如果我理解正确,没有简单的方法可以做到这一点,但您可以使用技巧

    当用户单击容器外的某个位置(
    .folder
    )时,您应该做两件事:

  • 删除所选项目的
    .ui selected
  • 清除小部件实例的选定列表
  • 注意:这是一个通用的解决方案,因此可能会与您的其他代码(
    $('html')发生冲突。例如,单击
    ),请小心

    到代码:

    $(“#可选”).selective()。单击(函数(事件){
    event.stopPropagation();
    });
    $('html')。单击(函数(){
    变量ins=$(“#可选”).可选(“实例”);
    //清除所选列表
    ins.selectees=[];
    //删除选定的类
    ins.element.find('.ui-selected').removeClass('ui-selected');
    });
    
    #反馈{字体大小:1.4em;}
    #可选。用户界面选择{背景:#FECA40;}
    #可选。ui已选择{背景:#F39814;颜色:白色;}
    #可选{列表样式类型:无;边距:0;填充:0;宽度:60%;}
    #可选li{边距:3px;填充:0.4em;字体大小:1.4em;高度:18px;}
    
    第1项
    第2项
    第3项
    第4项
    第5项
    第6项
    第7项
    
    控制台中有任何错误吗?您可以为此创建一个代码段或bin吗?因为默认情况下,您可以取消选择所选的。我只能在单击
    区域时取消选择,但我希望在单击
    控制台中的任何错误时取消选择?您可以为此创建一个代码段或bin吗?因为,默认情况下,您可以取消选择所选的。我只能在
    区域单击时取消选择,但我希望在单击的任何位置取消选择
    $(".folder").selectable({
        stop: function() {
            $(".ui-selected", this)
                .each(function() {
                    var index = $("table tbody").index(this);   
                });     
        }
    });