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

时间:2021-07-23 08:34:42

这里仅仅是一个简单代码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>