南哥带你学 HTML 之 事件捕获和冒泡以及事件的绑定
2018-03-16 19:53
351 查看
事件捕获和冒泡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>事件捕获和冒泡</title> <style type="text/css"> .box{ width: 600px; height: 600px; margin: 0 auto; background-color: red; overflow: hidden; } .mid{ width: 400px; height: 400px; margin: 100px; background-color: gold; overflow: hidden; } .item{ width: 200px; height: 200px; background-color: blue; margin: 100px; } </style> </head> <body> <div class="box"> <div class="mid"> <div class="item"></div> </div> </div> </body> <script type="text/javascript"> var box = document.getElementsByClassName("box")[0]; var mid = document.getElementsByClassName("mid")[0]; var item = document.getElementsByClassName("item")[0]; // 事件冒泡 - 阻止事件冒泡 box.addEventListener("click", function(){ console.log("box"); }, false); mid.addEventListener("click", function(){ console.log("mid"); }, false); // item.addEventListener("click", function(){ // console.log("item"); // }, false); item.addEventListener("click", function(ev){ // 取消冒泡 不让事件继续 ev.cancelBubble = true; // 第一种 ev.stopPropagation(); // 第二种 // 兼容写法 if (ev.stopPropagation) { ev.stopPropagation(); } else{ ev.cancelBubble = true; } console.log("小明"); // 阻止默认事件 ev.preventDefault(); // 第一种 ev.returnValue = false; // 第二种 return false; // 第三种 }, false); </script> </html>
事件绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>事件绑定</title> <style type="text/css"> body{ margin: 0; padding: 0; background-color: black; } .redDiv{ width: 200px; height: 200px; background-color: red; margin: 20px auto; } </style> </head> <body> <div class="redDiv"></div> </body> <script type="text/javascript"> var redDiv = document.getElementsByClassName("redDiv")[0]; // 事件绑定 -> 给一个元素绑定多个相同事件 redDiv.addEventListener("click", f1, false); redDiv.addEventListener("click", f2, false); function f1(){ console.log(1); } function f2(){ console.log(2); } // 移除事件绑定 redDiv.removeEventListener("click", f2, false); </script> </html>
http://blog.csdn.net/huzongnan/article/list
相关文章推荐
- HTML基础第十课(事件绑定,事件捕获和冒泡,ajax)
- JS中的事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE
- JS中的事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE
- JS中的事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE
- JS中的事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE
- javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
- W3C下的冒泡和捕获机制。到底是冒泡呢。还是捕获呢。一个DOM元素绑定多个事件时如何执行。
- 一个DOM元素绑定多个事件时,先执行冒泡还是捕获
- html事件冒泡和事件捕获
- [转]简析JavaScript事件、以及捕获和冒泡
- 你根本不懂Javascript(5): HTML事件捕获与冒泡
- JS事件绑定、冒泡/捕获、常见的兼容处理、委托、阻止默认行为和冒泡
- JavaScript-父子dom同时绑定捕获冒泡点击事件时执行顺序
- 看懂此文,不再困惑于javascript中的事件绑定、事件冒泡、事件捕获和事件执行顺序
- 事件的绑定与取消和事件流的冒泡与捕获
- JS中的事件冒泡(Bubble)和事件捕获(capture)以及如何阻止事件的冒泡
- 事件绑定与事件捕获/冒泡
- js事件捕获,事件冒泡,事件委托以及DOM事件流
- 事件以及事件捕获、事件冒泡、事件委托
- JS中绑定事件顺序(事件冒泡与事件捕获区别)