javascript - 如何使用点击方法在元素内部添加点击方法?

标签 javascript jquery html

假设我有:

   <div id="outer" onclick="thingsHappen()">
      <div id="inner"></div>
   </div>

当我点击outerinner div 时,thingsHappen() 被执行。这是显而易见的。

现在我需要为 inner div 定义一个不同的方法。 例如

$("#inner").click(function() {
    doThings();
});

当我点击 inner 时,thingsHappen() 和 doThings() 都会执行。 单击内部 div 而不执行 thingsHappen() 如何执行 doThings()?

我尝试解除绑定(bind)#inner 的点击方法,但没有成功。 附言。我无法更改 HTML 的结构。

最佳答案

Stop the propagation事件的:

$("#inner").click(function(e) {
    doThings();
    e.stopPropagation();
});

示例: http://jsfiddle.net/QNt76/

JavaScript 事件在 DOM 树中向上冒泡,除非您阻止它们传播。这就是导致父事件处理程序收到通知的原因。

关于javascript - 如何使用点击方法在元素内部添加点击方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10264192/

相关文章:

javascript - Facebook 喜欢项目的按钮而不是链接

javascript - jQuery .load 函数不起作用

html - 碧 Jade 报告 : Aligning text as center in text field using HTML markup

javascript - React Router 不加载外部 html 文件

javascript - 捕获跨源 iframe 事件

php - 在动态下拉列表中设置选定的值

javascript - Chrome 扩展程序将所有链接替换为稍微修改过的版本

html - 增加文本大小以仅适合一列的表格单元格

javascript - 嵌套元素中的 iOS Safari onscroll 事件

javascript - 这段 Javascript 代码有什么作用?