亲子事件

Tom*_*der 2 javascript jquery

我有一个2 div元素.一个是孩子,一个是父母喜欢:

<div id="p">
  <div id="c">
  </div>
</div> 
Run Code Online (Sandbox Code Playgroud)

parentdiv有2事件连接clickdblclick子女div有附加1个事件click.现在我的问题是当我点击child div父div点击事件时也执行了.我试过e.stopPropagation();但仍然是同样的行为.帮我 ?

Jam*_*ice 5

你一定是错了,因为stopPropagation应该在这里做.确保停止在子元素上传播事件:

$("#c").click(function (e) {
    e.stopPropagation(); //Will prevent event bubbling to #p
});
Run Code Online (Sandbox Code Playgroud)

这是一个有效的例子.


上面唯一的例外是,如果您已使用live方法绑定事件处理程序(自live弃用以来您不应该这样做).live由于事件处理程序绑定到文档而不是元素,因此无法停止事件的传播,并且事件必须在执行之前一直传播到文档.