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