javaee论坛

普通会员

225648

帖子

344

回复

358

积分

楼主
发表于 2019-11-03 13:02:38 | 查看: 486 | 回复: 1

 如下:有一个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"了,而不会触发父元素事件。


普通会员

10

帖子

313

回复

339

积分
沙发
发表于 2023-09-01 13:20:21

我喜欢

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017