1

我正在尝试添加 div 单击事件的操作,并且我将一个 div 包含在另一个中。我希望每个 div 的点击事件都不同。但是如果一个 div 包含在另一个 div 中,则内部 div 上的 click 事件会执行这两种操作,例如。我添加了一个小提琴和一个示例代码。我怎样才能为每个 div 单独执行单独的操作?

http://jsfiddle.net/Dk8vA/

$('#outerDiv').on("click",function(){
     alert("s");    
 });

$('#innerDiv').on("click",function(){
  alert("n");
});
 <div id='outerDiv'><div id='innerDiv'></div></div>
4

3 回答 3

2

用于e.stopPropagation()防止事件冒泡到父级。

参考这里

这可以防止事件在 DOM 树中冒泡,防止任何父处理程序收到事件通知。通过添加 stopPropagation() 事件不会冒泡到其父级#outerDiv或进一步向上。

$('#innerDiv').on("click",function(e){
    e.stopPropagation();
alert("n");

});

演示

于 2013-05-11T04:11:57.507 回答
2

使用event.stopPropagation() 防止事件冒泡

小提琴

$('#outerDiv').on("click",function(){
  alert("s");  
});

$('#innerDiv').on("click",function(e){
  alert("n");
  e.stopPropagation();    
});
于 2013-05-11T04:12:13.383 回答
1

使用e.StopPropagation()将是您的解决方案。

你可以参考

嵌套 div 上的 jQuery click()

于 2013-05-11T04:17:45.020 回答