javascript - $(document.documentElement) 目标特定元素

标签 javascript jquery

我有一个这样的函数:

jQuery(document.documentElement).on('click touch', function(e) {
    // check if $(e.target) matches with $('ul#menu-navigation > li.menu-item')
    // or any child elements within this particular div.
});

如何使用 if 语句检查 e.target 是否与 $('ul#menu-navigation > li.menu-item') 匹配特定 div 内的任何子元素。

例如,类似:

if ( $(e.target) == $('ul#menu-navigation > li.menu-item') ) {
    // user clicked on this div or any child divs within this element
} else {
    // user clicked anywhere outside of this div
}

最佳答案

使用closest()从目标开始并向上查找

jQuery(document).on('click touch', function(e) {
    if($(e.target).closest('ul#menu-navigation > li.menu-item').length){
      // is within a menu item
    }   
});

关于javascript - $(document.documentElement) 目标特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42346598/

相关文章:

javascript jquery 创建和监听事件

javascript - 为什么我的背景图片隐藏了我的键码生成器?

javascript - 在同步 AJAX 调用期间更新 GUI

javascript - JS - 忽略小数点后的数字

java - 关于选择选择框

javascript - 如何删除jquery中的特定标签?

javascript - moment JS - 比较本地时间的正确方法

javascript - 为什么 console.log 在 promise 循环后工作

javascript - 单击提交后平滑滚动到 DIV

jquery - 读取 li 值并将其插入数组中?