- HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <body onclick="alert('body')"> <div id="dv" style="width:100px;height:100px;border:1px solid red" onclick="alert('div')"> </div> </body> </html>
这样是先弹出div,再弹出body,似乎这叫做事件冒泡,从外向里 渗透
而看百度百科介绍,事件捕捉是从里向外,
那么就以上代码,如何先弹出body,再弹出div,有没有这个可能?
------解决方案--------------------
捕获是从DOM tree的根向子元素传播的过程,冒泡反之由当前元素向父元素的方向进行。传统的dom.onclick=function(){}写法是DOM0事件,实现捕获需要使用addEventListener方法及对应参数,JS和DOM如下
- HTML code
<body> <div id="div1">text</div> </body>
------解决方案--------------------
注册handler时默认的处理应该是在冒泡阶段,如楼上所说可以在添加handler时设置最后的参数为true,即可将handler应用到捕获阶段