阻止JavaScript事件冒泡传递:cancelBubble和stopPropagation的用法
最编程
2024-01-11 14:00:26
...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">
<head>
<title> 阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)</title>
<meta name="keywords" content="JavaScript,事件冒泡,cancelBubble,stopPropagation" />
<script type="text/javascript">
function doSomething (obj,evt) {
alert(obj.id);
var e=(evt)?evt:window.event;
if (window.event) {
e.cancelBubble=true;
} else {
//e.preventDefault();
e.stopPropagation();
}
}
</script>
</head>
<body>
<div id="parent1" onclick="alert(this.id)" style="width:250px;background-color:yellow">
<p>This is parent1 div.</p>
<div id="child1" onclick="alert(this.id)" style="width:200px;background-color:orange">
<p>This is child1.</p>
</div>
<p>This is parent1 div.</p>
</div>
<br />
<div id="parent2" onclick="alert(this.id)" style="width:250px;background-color:cyan;">
<p>This is parent2 div.</p>
<div id="child2" onclick="doSomething(this,event);" style="width:200px;background-color:lightblue;">
<p>This is child2. Will bubble.</p>
</div>
<p>This is parent2 div.</p>
</div>
</body>
</html>
推荐阅读
-
区分click事件触发多次、事件冒泡和阻止冒泡,以及event.stopPropagation、event.preventDefault和return false的差异
-
阻止事件冒泡,阻止默认事件,event.stopPropagation和event.preventDefault,return false的区别-1.event.stopPropagation方法
-
阻止JavaScript事件冒泡传递:cancelBubble和stopPropagation的用法
-
JavaScript中的事件冒泡和如何阻止事件冒泡及默认行为
-
阻止事件冒泡:js中的e.stopPropagation用法
-
如何阻止事件冒泡和事件默认行为的javascript操作
-
JavaScript中的事件模型以及如何阻止事件冒泡和实现事件委托
-
如何使用JavaScript的return false、阻止事件冒泡和阻止默认事件
-
冒泡阻止:stopPropagation和cancelBubble的不同