javascript - stopPropagation 不适用于嵌套 href 标记

标签 javascript jquery html

我列出了多个 div,如下所示:

<div class="msg-list clearfix" id="27705">
  <div class="thumbnail_image">
    <a href="some_path">AnchorText</a>
  </div>
  <div class="msg-date">DATA</div>
</div>

我试图捕获父 div 的点击事件,但是当点击 href 元素时,我的点击事件也会被触发,而不是仅仅跟随点击的链接。

这是我的 jquery 调用:

//$(".msg-list a").click(function(e) {
$(".msg-list").click(function(e) {

    e.stopPropagation(); 
    alert("Handler for .click() called.");
});

知道我错过了什么吗?

最佳答案

尝试:

$(".msg-list").on('click', function(e) {
    alert("div handler");
    return false;
});
$(".msg-list a").on('click', function(e) {
    alert("a handler");
    e.stopPropagation();
});

这是你想要的吗? http://jsfiddle.net/L5kC4/2

关于javascript - stopPropagation 不适用于嵌套 href 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643422/

相关文章:

javascript - 如何在 ES6 中柯里化(Currying)递归函数

javascript - 如何使用ajax将表单数据发送到Spring Controller

javascript - 获取元素ById : IE Issues

jquery - 使用 jQuery 输入值后,如何通过输入值选择输入?

javascript - 如何在 javascript 中隐藏损坏的图像?

javascript - flex 容器中的可折叠 div 也可以打开其他 div

javascript - 我想通过单击按钮将小程序的任何参数发送到浏览器。 (网页)

jQuery - 路线是正确的,但警报没有发生?

jquery - jqplot 并排堆积条形图

php - 检索多个复选框并在表格中显示数据库中的其他相关信息