关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级 |
本文标签:javascript,冒泡事件 假设在我们页面有这么一段标签: 复制代码 代码如下: <body> <div id="testDiv" style="width:200px;height:200px;background:#c0c0c0;"></div> </body> 现在在页面加入这么一段脚本: 复制代码 代码如下: <script type="text/javascript"> window.onload=function(){ //在各个层级的元素上绑定事件 window.onclick=func; document.onclick=func; document.getElementById("timeDiv").onclick=func; document.body.onclick=func; } function func(){ //响应函数,输出响应的元素 document.getElementById("timeDiv").innerHTML+=this+"<br>"; } 在firefox以及IE 8下打开页面,在标签testDiv(灰色方块)上单击,结果分别如下截图:
IE 8下结果 可以看到,两者结果并不相同?究竟为什么会这样呢? 复制代码 代码如下: document.body.onclick=func; 事件处理函数将被添加到事件的冒泡阶段 。 以上就是对于IE、firefox里面冒泡事件响应层级的一点介绍,同时顺带介绍了采用传统事件处理函数直接赋值的默认处理 。详细的讲解可参见大牛Nicholas C. Zakas所著的《javascript高级程序设计》 。 PS:以上内容仅仅为个人读书笔记,如有错漏,随时欢迎指正 。同时希望能有更多的前端爱好者们共同分享你们的心得! |