事件冒泡之cancelBubble和stoppropagation
【摘要】 div内的button的click会触发两次<html> <head> <title>冒泡测试</title> <script language="javascript" type="text/javascript"> function clickBtn(event) { event=event?event:...
div内的button的click会触发两次
<html>
<head>
<title>冒泡测试</title>
<script language="javascript" type="text/javascript">
function clickBtn(event)
{
event=event?event:window.event;
event.stopPropagation();
alert("OK");
}
</script>
</head>
<body οnclick="alert('body');">
<div οnclick="clickBtn(event)" style="width:100px;height:100px; background:#666;">
<input id="Button1" type="button" value="button" οnclick="alert('btn');" />
</div>
</body>
</html>
事实上stoppropagation和cancelBubble的作用是一样的,都是用来阻止浏览器默认的事件冒泡行为。
不同:stoppropagation属于W3C标准,试用于Firefox等浏览器,但是不支持IE浏览器。
相反cancelBubble不符合W3C标准,而且只支持IE浏览器。所以很多时候,我们都要结合起来用。不过,cancelBubble在新版本chrome,opera浏览器中已经支持。
语法:e.stopPropagation();
参数e:表示事件传递的参数,代表事件的状态。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)