如下:有一个div,div中有一个span:
<divclass="c2"><spanclass="c1">Helloworld</span></div>
div和span各有一个class,并且各自有对应的点击方法:
<scripttype="text/javascript">$(function(){$(".c1").click(function(){alert("Youclickedspan");});$(".c2").click(function(){alert("Youclickeddiv");});});</script>
如果我们点击"helloworld",这会弹窗提示"Youclickedspan"和 "Youclickeddiv"。
如果我们我们只想弹窗"Youclickedspan",而不触发父元素的事件,即阻止事件冒泡。那么可以进行如下修改:
(1)在function函数的参数中加入event
(2)调用方法event.stopPropagation();
<scripttype="text/javascript">$(function(){$(".c1").click(function(event){event.stopPropagation();alert("Youclickedspan");});$(".c2").click(function(){alert("Youclickeddiv");});});</script>
这样的话,你点击"Helloworld"就只会提示"Youclickedspan"了,而不会触发父元素事件。