DOM 事件相关

262 阅读1分钟

什么是事件委托?

事件委托还有一个名字就是事件代理,指利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件

怎么阻止默认动作?

2.event.preventDefault()方法 这是阻止默认事件的方法,调用此方法是,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素;

//阻止浏览器的默认行为 
function stopDefault( e ) { 
    //阻止默认浏览器动作
    if ( e && e.preventDefault ) {
        e.preventDefault(); 
        }
    //IE中阻止函数器默认动作的方式 
    else {
        window.event.returnValue = false; 
    }
    return false; 
}

怎么阻止事件冒泡?

1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开。

function stopBubble(e) { 
//如果提供了事件对象,则这是一个非IE浏览器 
if ( e && e.stopPropagation ) 
    //因此它支持W3C的stopPropagation()方法 
    e.stopPropagation(); 
else 
    //否则,我们需要使用IE的方式来取消事件冒泡 
    window.event.cancelBubble = true; 
}

IE: window.event.cancelBubble = true;//停止冒泡 window.event.returnValue = false;//阻止事件的默认行为

Firefox: event.preventDefault();// 取消事件的默认行为 event.stopPropagation(); // 阻止事件的传播