【问题标题】:Adding onclick event to td, but should not fire on links within将 onclick 事件添加到 td,但不应在其中的链接上触发
【发布时间】:2011-08-10 19:59:41
【问题描述】:

我有这个:

$('table.data td').click(function() {
}

但问题是当我单击该列中的链接时也会触发。我怎样才能防止这种情况?

尝试了类似table.data td :not(a) 的方法,但似乎根本不起作用..

谢谢。

--

没关系,刚刚发现了 e.target.nodeName! (如果这是处理这个问题的最佳方法:!= 'A')

【问题讨论】:

    标签: jquery events onclick propagation


    【解决方案1】:

    您可以通过这种方式停止子节点的事件传播:

    $('table.data td a').click(function(evt){
      evt.stopPropagation();
      [.. Do other stuff ..]
    });
    

    jquery stopPropagation() 防止事件在 DOM 树中冒泡,防止任何父处理程序收到事件通知。

    【讨论】:

      猜你喜欢
      • 2012-07-27
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 2013-02-23
      • 1970-01-01
      • 2018-07-11
      相关资源
      最近更新 更多