防止儿童解雇父母的点击事件

请考虑以下代码段:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Curabitur hendrerit vehicula erat, ut gravida orci luctus vitae.

现在假设外部div具有与之关联的实时click 。 当我click内部div任何位置时,如何确保不会触发实时click

编辑:

这是JS的要求

 $(".div-outer").live("click",function(){alert("hi")}); 

点击“.inner-div”时不应该触发这个

您必须向内部子项添加事件侦听器并取消事件的传播。

简单的JS就像

 document.getElementById('inner').addEventListener('click',function (event){ event.stopPropagation(); }); 

足够了。 请注意, jQuery提供相同的function :

 $(".inner-div").click(function(event){ event.stopPropagation(); }); 

要么

 $(".inner-inner").on('click',function(event){ event.stopPropagation(); }); 

为内部div创建新的click侦听器,并在该新事件中调用event.stopPropagation()

喜欢

 $('div-outer').on('click','div-inner',function(e){ e.stopPropagation(); }); 

你可以通过在内部div上添加一个click事件来使用return false;event.stopPropagation();

 $(".div-inner").click(function(){ return false; }) 

要么

 $(".div-inner").click(function(event){ event.stopPropagation(); }) 

的jsfiddle

在js文件中使用stopPropagation

  $(".eventclick").click(function(e) { e.stopPropagation(); });