防止冒泡

在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理 程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次 的最顶层,即document对象(有些浏览器是window)。所以在我们开发过程中要注意冒泡,不过不同的浏览器有不同的做法,下面给出一段公用的代码:

function stopEvent(e) {
    if (window.event) {
        e.cancelBubble = true;
    }
    else {
        e.stopPropagation();
    }
}

 e.cancelBubble = true;可以被IE支持,e.stopPropagation();可以被W3C标准支持

posted @ 2012-08-29 14:28  kevin_h_wang  阅读(186)  评论(0编辑  收藏  举报