代码之家  ›  专栏  ›  技术社区  ›  Eric

jquery:优先使用内部单击

  •  2
  • Eric  · 技术社区  · 15 年前

    我有一个大的DIV,里面有一些链接,我想让大的DIV也可以点击和链接,我这样做了:

    html :
    
    <div class="clickable">
      some text...
      <a href="myurl1">Link 1</a>
      <a href="myurl2">Link 2</a>
      some text...
    </div>
    
    jquery :
    
    $('.clickable').click(function() {
       alert('Hello');
    });
    

    如果我单击可点击的DIV中的链接,我会先收到“hello”警报,然后加载新页面:是否可以在不触发外部DIV点击处理程序的情况下让锚工作?

    1 回复  |  直到 15 年前
        1
  •  4
  •   MvanGeest    15 年前

    添加此代码:

    $('a').click(function(event) {
        event.stopPropagation();
    });
    

    您可以看到它在这里工作: http://jsfiddle.net/wPymp/

    此代码的工作方式很简单: .event.stopPropagation() 确保事件不会在DOM中向上传播,并且不会在祖先元素上触发处理程序。

    推荐文章