假设你有这样的代码:

<html>
  <head>
  </head>
  <body>
     <div id="parentDiv" onclick="alert('parentDiv');">
         <div id="childDiv" onclick="alert('childDiv');">
         </div>   
      </div>
  </body>
</html>

我不想在点击childDiv时触发parentDiv次点击事件,我该怎么做?

Updated

另外,这两个事件的执行顺序是什么?

推荐答案

你需要用event.stopPropagation()

Live Demo

$('#childDiv').click(function(event){
    event.stopPropagation();
    alert(event.target.id);
});​

event.stopPropagation()

描述:防止事件在DOM树中冒泡,

Jquery相关问答推荐

在不同的行插入不同的值

DataTables - this.api 用于回调函数中的多个表

如果您的 Select 器对象无效,为什么 jQuery 不会炸弹?

jQuery 动画滚动

jQuery从字符串中删除字符串

jquery - 单击事件不适用于动态创建的按钮

JQuery手风琴自动高度问题

确定 JavaScript 值是否为整数?

在 jquery 中启用/禁用下拉框

如何通过 DOM 容器访问 Highcharts 图表?

好处和.在本地托管 jQuery 的trap

jQuery Select 器中前导冒号的目的是什么?

在jquery中查找具有某个属性值的所有元素

jQuery - 确定输入元素是文本框还是 Select 列表

如何使用 javascript 擦除所有内联样式并仅保留 css 样式表中指定的样式?

如何通过jQuery函数仅获取直接子元素

如何插入元素作为第一个子元素?

是否可以将 async:false 设置为 $.getJSON 调用

使用 TypeScript 设置 window.location

如何使用 ID 变量在 jQuery 中 Select 元素?