Javascript 使用jQuery取消选择所选区域
我有以下HTML: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">П
<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);
});
}
});