首页 > 代码库 > 事件冒泡 & 阻止事件冒泡
事件冒泡 & 阻止事件冒泡
事件冒泡 : 当一个元素接收到事件的时候,会把他接收到的所有传播给他的父级,一直到顶层window.事件冒泡机制
阻止冒泡 : 当前要阻止冒泡的事件函数中调用 event.cancelBubble = true;
事件函数绑定:
//oDiv1.onclick = fn1; 给oDiv加点击事件,给事件绑定一个函数。
<script>
window.onload = function() {
var oBtn = document.getElementById(‘btn‘);
var oDiv = document.getElementById(‘div1‘);
oBtn.onclick = function(ev) {
var ev = ev || event;
ev.cancelBubble = true; //阻止当前对象的当前事件的冒泡
oDiv.style.display = ‘block‘;
};
document.onclick = function() {
oDiv.style.display = ‘none‘;
}
}
</script>
=====================================================================
以下是利用事件冒泡机制的例子:
<style>
#div1 {width: 100px; height: 200px; background: red; position: absolute; left: -100px; top: 100px;}
#div2 {width: 30px; height: 60px; position: absolute; right: -30px; top: 70px; background: black; color: white; text-align: center;}
</style>
<script>
window.onload = function() {
var oDiv = document.getElementById(‘div1‘);
//只给父级div1添加事件函数,这样子级触发事件的时候也会执行父级的函数
oDiv.onmouseover = function() {
this.style.left = ‘0px‘;
}
oDiv.onmouseout = function() {
this.style.left = ‘-100px‘;
}
}
</script>
<body>
<div id="div1">
<div id="div2">分享到</div>
</div>
</body>
事件冒泡 & 阻止事件冒泡
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。