JavaScript阻止事件冒泡(兼容IE、Chrome、FF)

这里仅仅是一个简单代码demo,因为时间问题并未做深入研究,因为今天做项目时要用到阻止事件冒泡的内容,找了好多才找到一个可以使用的,特记录之。

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>阻止事件冒泡</title>
	<script src="js/jquery-1.11.3.min.js"></script>
	<script src="js/jquery.cookie.js"></script>
	<style type="text/css">
	</style>
	<script type="text/javascript">
		function clickDiv(){
			alert("clickDiv");
		}
		function clickP(event){
			stopEvent(event);
			alert("clickP");
		}
		function stopEvent(event){ //阻止冒泡事件
		 //取消事件冒泡
		 var e=arguments.callee.caller.arguments[0]||event; //若省略此句,下面的e改为event,IE运行可以,但是其他浏览器就不兼容
		 if (e && e.stopPropagation) {
		  // this code is for Mozilla and Opera
		  e.stopPropagation();
		 } else if (window.event) {
		  // this code is for IE
			window.event.cancelBubble = true;
		 }
		}
	</script>
</head>
<body>
	<div onclick="clickDiv()" style="width:100px; height:100px; background-color:red;">
		<p onclick="clickP(event)" style="width:50px; height:50px; margin:auto; background-color:green;">
			abad
		</p>
	</div>
	<script type="text/javascript">
	</script>
</body>
</html>

  

posted @ 2015-06-24 15:16  clearbug  阅读(5537)  评论(0编辑  收藏  举报