Javascript 事件对象(三)事件冒泡
2014-06-12 00:02
267 查看
事件流
---事件冒泡
取消冒泡:ev.cancelBubble=true
---事件捕获
Ie下是没有的,在绑定事件中,标准下是有的
事件冒泡实例:(侧边栏分享)
取消事件冒泡实例:(点击出现下拉框)
---事件冒泡
取消冒泡:ev.cancelBubble=true
---事件捕获
Ie下是没有的,在绑定事件中,标准下是有的
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style> div {padding: 40px;} #div1 {background:red} #div2 {background:green} #div3 {background:blue; position: absolute; top: 300px;} </style> <script> window.onload = function() { /* 事件冒泡 : 当一个元素接收到事件的时候,会把他接收到的所有传播给他的父级,一直到顶层window.事件冒泡机制 */ var oDiv1 = document.getElementById('div1'); var oDiv2 = document.getElementById('div2'); var oDiv3 = document.getElementById('div3'); function fn1() { alert( this.id ); } //oDiv1.onclick = fn1; 给**加事件,给元素加事件处理函数 //事件函数绑定 oDiv1.onclick = fn1;//告诉div1,如果他接收到了一个点击事件,那么他就去执行fn1 //oDiv2.onclick = fn1; oDiv3.onclick = fn1; //我在马路边捡到一分钱,把他交个警察叔叔 /*我.on马路边捡到一分钱 = function() { 把他交个警察叔叔 }*/ } </script> </head> <body> <div id="div1"> <div id="div2"> <div id="div3"></div> </div> </div> </body> </html>
事件冒泡实例:(侧边栏分享)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <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'); oDiv.onmouseover = function() { this.style.left = '0px'; } oDiv.onmouseout = function() { this.style.left = '-100px'; } } </script> </head> <body> <div id="div1"> <div id="div2">分享到</div> </div> </body> </html>
取消事件冒泡实例:(点击出现下拉框)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style> #div1 {width:100px; height:200px; border: 1px solid red; display: none;} </style> <script> window.onload = function() { /* 阻止冒泡 : 当前要阻止冒泡的事件函数中调用 event.cancelBubble = true; */ 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'; } /*oBtn.onmouseover = function(ev) { var ev = ev || event; ev.cancelBubble = true; }*/ document.onclick = function() { /*setTimeout(function() { oDiv.style.display = 'none'; }, 1000);*/ oDiv.style.display = 'none'; } } </script> </head> <body> <input type="button" value="按钮" id="btn" /> <div id="div1"></div> <p>ppppp</p> <p>ppppp</p> <p>ppppp</p> <p>ppppp</p> </body> </html>
相关文章推荐
- JavaScript权威设计--事件冒泡,捕获,事件句柄,事件源,事件对象(简要学习笔记十八)
- JavaScript之jQuery-4 jQuery事件(页面加载后执行、事件处理、事件冒泡、事件对象、模拟操作)
- JavaScript对象内联函数的使用,对象内部方法和属性的使用,以及事件冒泡的处理方式
- JavaScript事件基础(事件对象,键盘,鼠标,冒泡)
- JavaScript:事件对象Event和冒泡
- JavaScript:事件对象Event和冒泡
- javascript 事件冒泡
- JavaScript:window.event.srcElement(指触发事件的对象)
- 阻止 JavaScript事件 冒泡传递 (cancelBubble 、stopPropagation)
- Javascript(二十) 事件对象
- 阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
- JavaScript:window.event.srcElement(指触发事件的对象)
- JavaScript[对象.属性.事件]集锦
- javascript的Document对象——事件
- javascript阻止事件冒泡和浏览器的默认行为
- javascript阻止冒泡事件
- 阻止JavaScript事件冒泡传递
- javascript事件和对象绑定
- javascript中的this指针、函数、事件、对象
- 书:"Pro JavaScript Techniques 精通JavaScript"之阻止事件冒泡的通用函数