Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 当li在选择区域之外时从数组中删除_Jquery_Select_Mouseevent_Area - Fatal编程技术网

Jquery 当li在选择区域之外时从数组中删除

Jquery 当li在选择区域之外时从数组中删除,jquery,select,mouseevent,area,Jquery,Select,Mouseevent,Area,我用jQuery的鼠标事件对一个选择区域进行编码,但我有一个问题,我尝试从数组中删除信息,当鼠标离开并离开选择区域时,我在数组中保存可选择项li的信息。谢谢大家 您只需初始化文件数组并还原为LI的“mouseup”事件添加的CSS规则,因此“mouseup”事件处理程序的新代码块如下所示: .mouseup(函数(e){ page.off('mousemove'); li.off(“鼠标盖”); selection.hide(); //添加了代码行 文件=[]; css({'background

我用jQuery的鼠标事件对一个选择区域进行编码,但我有一个问题,我尝试从数组中删除信息,当鼠标离开并离开选择区域时,我在数组中保存可选择项li的信息。谢谢大家


您只需初始化文件数组并还原为LI的“mouseup”事件添加的CSS规则,因此“mouseup”事件处理程序的新代码块如下所示:

.mouseup(函数(e){
page.off('mousemove');
li.off(“鼠标盖”);
selection.hide();
//添加了代码行
文件=[];
css({'background':'transapart'});
});

更新了演示页面代码,现在您可以在新页面中检查选择行为

更新1:

参考下面的代码块,该代码块在“mouseup”事件时将元素隐藏在选择区域之外

.mouseup(函数(e){
page.off('mousemove');
li.off(“鼠标盖”);
selection.hide();
li.每个(函数(){
if(jQuery.inArray($(this.attr('class'),files)=-1){
$(this.css({'display':'none'});
//$(this).remove();//此语句从DOM中删除元素
}
});
});

演示链接:

更新2:

进行了必要的更改,所以现在应该按照您希望的方式工作,请查看下面指定的演示链接

现在,我们正在考虑性能并使其正常工作,以处理“mouseup”事件时的列表项选择


演示链接:

我刚刚检查了您的代码和演示,发现数组和选定的LI在离开鼠标后没有恢复。所以你需要帮助来实现这一点,对吗?我不想清除鼠标上的数组,我想删除不在选择区域的单个项目。谢谢和问候!是否要删除选定区域中的单个项目或所有项目?使用新的代码块更新了我的答案,以隐藏/删除选定区域中的项目,还包括演示链接。我想删除不在选定区域中但在数组中的项目,例如,我开始拖动光标,并将多个项目添加到数组中,但我没有停止按住左光标,而是从某个项目中更改了选择区域。卢卡斯,请检查我更新的答案,其中也有demo link()。