在实现页面过程中,我们通常会遇见onclick事件的嵌套问题,当点击内层标签的onclick事件时,还会触发外层标签的onclick事件,我们要实现的就是阻止外层onclick事件的触发。
代码如下:
html代码:
<body>
<!--
作者:mrzhao0611@163.com
时间:2018-04-13
描述:阻止事件冒泡
-->
<div οnclick="show1()">而微软推欧元价格突然发
<p οnclick="show2()">围绕太阳接近银行股份的法国红酒魔鬼屠夫</p>
</div>
</body>
js代码:
<script>
function show1() {
alert('show1');
}function show2() {
alert('show2');
cancelBubble();
}function cancelBubble(e) {
var evt = e ? e : window.event;
if(evt.stopPropagation) { //W3C
evt.stopPropagation();
} else { //IE
evt.cancelBubble = true;
}
}
</script>
我们通过 cancelBubble( ) 函数可以防止onclick事件穿透。