文章不易,请关注公众号 毛毛虫的小小蜡笔,多多反对,谢谢。
DOM事件触发程序
遵循两个准则:
1、先触发捕捉阶段,而后到指标阶段,最初到冒泡阶段
2、指标阶段,依照代码程序来触发,不辨别捕捉和冒泡
Demo
代码
<head> <meta charset="utf-8"> <title>事件流</title> <style> #a { width: 100px; height: 100px; background: black; margin: auto; } #b { width: 60px; height: 60px; background: red; } #c { width: 30px; height: 30px; background: green; display: inline-block; }</style></head><body> <div id="a"> <div id="b"> <div id="c"></div> </div> </div> <script> var aObj = document.getElementById('a') var bObj = document.getElementById('b') var cObj = document.getElementById('c') aObj.addEventListener('click', function (evt) { console.log('a1') }, true) aObj.addEventListener('click', function (evt) { console.log('a2') }, false) bObj.addEventListener('click', function (evt) { console.log('b1') }, true) bObj.addEventListener('click', function (evt) { console.log('b2') }, false) cObj.addEventListener('click', function (evt) { console.log('c1') }, true) cObj.addEventListener('click', function (evt) { console.log('c2') }, false) cObj.addEventListener('click', function (evt) { console.log('c3') }, true) cObj.addEventListener('click', function (evt) { console.log('c4') }, false)</script></body>
成果如下截图所示:
当点击绿色区域,输入程序是这样的:a1,b1,c1,c2,c3,c4,b2,a2
其实,依据下面说的准则来判断就能够。
1、先触发捕捉阶段,所以先输入a1和b1
详情 请查看:毛毛虫的小小蜡笔