防止儿童解雇父母的点击事件
请考虑以下代码段:
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(); })
在js文件中使用stopPropagation
$(".eventclick").click(function(e) { e.stopPropagation(); });