我可以使用Jquery nearest()创建一个包含多个元素的选择器吗?

fre*_*ent 8 javascript jquery jquery-selectors closest

我有点击事件的监听器,我需要从中排除一些元素.

现在我的列表正在增长,所以我正在寻找一种更好的方法来"捆绑"选择器中的多个元素.

这就是我所拥有的:

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

有没有更好的方法来排除这些元素?

感谢帮助!

ckr*_*use 23

您可以指定CSS选择器,这意味着:您可以使用逗号指定两个或更多选择器:

if($(event.target).closest('div:jqmData(panel="popover"), div.pop_menuBox, .toggle_popover, .ui-selectmenu').length > 0) {
    return; 
}
Run Code Online (Sandbox Code Playgroud)


Dan*_*ite 5

使用逗号。

if ($(event.target)
     .closest('div:jqmData(panel="popover"), div.pop_menuBox, .toggle_popover, .ui-selectmenu').length > 0) {
     return; 
}
Run Code Online (Sandbox Code Playgroud)