在javascript中会遇到事件冒泡传递的问题,现在对这的理解有些混,一个事件的冒泡的范围是多大呢?为什么有的事件好像是会冒泡的有的好像不会,举个例子吧,在一个<td>中有一个<input>,现在在<input>中注册了一个click事件,那么这个这个事件是不是一直向外传递呢?我想如果一直向外传递的话,那么如果在一个元素上我们注册了一个mouseover事件,那么是不我们在进入了这个页面以后就触发了事件?如果一直向外传递的话应该是这样的吧,前提不把这个冒泡给屏壁掉?在现实的应用中,怎么感觉有时应该有冒泡传递的,但是又没有,是对这个冒泡不理解吧,望高手指导!
<table>
<tr>
<td onclick='alert(this.tagName)'><input onclick='alert(this.tagName)'></td>
</tr>
</table>
某元素上的mouseover事件,只有当鼠标在该元素上才会触发,触发后mouseover事件才沿着该元素的DOM层次向上传递。
http://blog.csdn.net/webflash/archive/2009/08/23/4475902.aspx
其实这些资料,你G一下就可以了
结合你提的问题,例子如下:
<div id="div1">
<div id="div2">
<div id="div3">
</div>
</div>
</div>js:document.getElementById("div3").attachEvent("onclick",onclickhandle);我们都知道单击div3时会执行onclickhandle方法,其实这个事件会执行这样的过程
div3->div2->div1
这个就是你说的冒泡,在html中可以用这个方法防止继续冒泡cancelBubble