事件冒泡

1、冒泡事件
在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。
2、冒泡事件作用
(1)事件冒泡允许多个操作被集中处理
(把事件处理器添加到父级元素上,避免把事件处理器添加到多个自己元素上),它还可以让你在对象层的不同级别捕获事件。

<div onclick="eventHandle(event)" id="outSide" style="width:100px; height:100px; background:#000; padding:50px">
<div id="inSide" style="width:100px; height:100px; background:#CCC"></div>
</div>

<script type="text/javascript">//本例子只在外面盒子定义了处理方法,而这个方法一样可以捕获到子元素点击行为并处理它。
假设有成千上万子元素要处理,难道我们要为每个元素加“onclick="eventHandle(event)"”?显然没有这种集中处理的方法来的简单,同时它的性能也是更高的。

function eventHandle(e){ 
   var e=e||window.event;
    var obj=e.target||e.srcElement; 
   alert(obj.id+' was click')}
</script>

// event.srcElement 获取或设置触发事件的对象(IE),其他浏览器是event.target

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容