`
rayln
  • 浏览: 436943 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

阻止事件冒泡

 
阅读更多
可使用event.stopPropagation阻止W3C的冒泡,
event.cancelBubble=true阻止IE的冒泡.
e.preventDefault();取消默认事件, 如link打开窗口事件.

例如:
<!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) {
		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>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics