我有点击事件的监听器,我需要从中排除一些元素。
现在我的列表正在增长,所以我正在寻找一种更好的方法来“捆绑”选择器中的多个元素。
这就是我所拥有的:
$(document).on('click tap', function(event) {
if ($(event.target).closest('div:jqmData(panel="popover")').length > 0 ||
$(event.target).closest('div.pop_menuBox').length > 0 ||
$(event.target).closest('.toggle_popover').length > 0 ) ||
$(event.target).closest('.ui-selectmenu').length > 0 {
return;
}
// do stuff
});
有没有更好的方法来排除这些元素?
感谢您的帮助!
答案 0 :(得分:23)
您可以指定CSS选择器,这意味着:您可以使用逗号指定两个或更多选择器:
if($(event.target).closest('div:jqmData(panel="popover"), div.pop_menuBox, .toggle_popover, .ui-selectmenu').length > 0) {
return;
}
答案 1 :(得分:3)
使用逗号。
if ($(event.target)
.closest('div:jqmData(panel="popover"), div.pop_menuBox, .toggle_popover, .ui-selectmenu').length > 0) {
return;
}
答案 2 :(得分:0)
根据jquery文档,您可以为最近的http://api.jquery.com/closest/
提供多个选择器