javascript - 停止 jquery 元素上的事件传播

标签 javascript jquery

我有一个元素,如下所示:

<div id="treeTable123" class="collapsed">
<div id="test"></div>
</div>

我已使用 jquery 将 click 函数绑定(bind)到 ID 为“test”的 div。 功能1:

 $(document).delegate('#test', 'click', function(e){
   ....
 });

我还有另一个与其他元素绑定(bind)的点击函数: 功能2:

  $('[id^="treeTable"]').delegate('.collapsed', 'click', function(e){
  });

当我单击 ID 为“test”的 div 时,两个事件都会被触发。所以我想阻止函数 2 中单击函数 1 内的事件时发生事件。我该怎么做?

最佳答案

$('[id^="treeTable"]').delegate('.collapsed', 'click', function(e){
   if($(e.target).closest('#test').length === 0) {
      // code placed inside this condition is not executed on clicking the element #test
   }
});

关于javascript - 停止 jquery 元素上的事件传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12225136/

相关文章:

javascript - 如何使用 javascript 创建包含重复项的数组

javascript - 如何根据句子索引突出显示句子?

javascript - 使用 Vue.JS 编辑数组对象

javascript - jQuery 1.9.0 破坏了 $.attrFn 对象

javascript - 如何在 Javascript 中计算将窗口滚动到图标中心位置的坐标?

javascript - Linux 上 OpenLayers 3 中的拖动旋转交互

javascript - jQuery除以两次时间得到比率

javascript - ondrop 事件 - 创建新元素

javascript - jQuery CSS 在 Safari 中不起作用

javascript - 如何使用从 javascript 传递的变量加载 PHP 页面