标签:listener ie9 als code 元素 chrome back 一个 触发事件
<div class="first" style="width: 300px; height: 300px; background-color: red;"> <div class="secend" style="width: 200px; height: 200px; background-color: yellow;"> <div class="end" style="width: 100px; height: 100px; background-color: green;"></div> </div> </div> <script> var first = document.getElementsByClassName("first")[0]; var secend = document.getElementsByClassName("secend")[0]; var end = document.getElementsByClassName("end")[0]; first.onclick=function(){ console.log("123"); }; secend.onclick=function(){ console.log("456"); }; end.onclick=function(){ console.log("789"); } </script>
我们同时在三个div上绑定了事件,现在三个div存在嵌套的关系,当我们点击最里层的div的时候,就会触发相关的事件冒泡,外边的两个父类div的事件都会被触发,这就是事件冒泡(先触发自己的事件,然后依次向父级)
<div class="first" style="width: 300px; height: 300px; background-color: red;"> <div class="secend" style="width: 200px; height: 200px; background-color: yellow;"> <div class="end" style="width: 100px; height: 100px; background-color: green;"></div> </div> </div> <script> var first = document.getElementsByClassName("first")[0]; var secend = document.getElementsByClassName("secend")[0]; var end = document.getElementsByClassName("end")[0]; first.addEventListener(‘click‘,function(){ console.log("123"); },true); //当这个true为false时就不会触发事件捕获,但是会触发事件冒泡 secend.addEventListener(‘click‘,function(){ console.log("456"); },true); end.addEventListener(‘click‘,function(){ console.log("789"); },true) </script>
我们同时也在三个div上绑定了事件,它们存在嵌套关系,现在我们点击最里边的事件,就会触发捕获事件(先触发被点击的事件的最外层的父级元素的事件,依次向里),这就是事件捕获
end.onclick=function(e){ e.stopPropagation(); //这就会组织冒泡事件的发生 e代表这个是事件的本身 console.log("789"); }
document.oncontextmenu=function(){ //阻止鼠标右键菜单的默认事件 console.log("123"); return false; }
document.oncontextmenu=function(e){ console.log("123"); e.preventDefault(); }
document.oncontextmenu=function(e){ console.log("123"); e.returnValue=false; }
标签:listener ie9 als code 元素 chrome back 一个 触发事件
原文地址:https://www.cnblogs.com/zhuzhu520/p/11966879.html