美文网首页
js事件处理机制

js事件处理机制

作者: 饭饭七 | 来源:发表于2017-08-08 15:59 被阅读0次

    js事件的三个阶段分别为:捕获、目标、冒泡
    事件捕获:父级元素先触发,子元素后触发
    W3C--addEventListener('click','doSomething','true')//若第三个参数为true则采用事件捕获,为false,则采用事件冒泡。
    IE浏览器只支持事件冒泡,不支持事件捕获,故使用element.attachEvent('onclick','doSomething')

    事件冒泡:子元素先触发,父元素后触发。
    (当一个元素的事件被触发时,同样的事件将会在该元素的所有祖先元素中被触发)
    阻止事件冒泡:
    W3C--event.stopPropagation()
    IE--event.cancelBubble=true;

    var event=event||window.event;
    if(event&&event.stopPropagation){
    event.stopPropagation();
    }else{
    event.cancelBubble=true;
    }
    //stopImmediatePropagation()在阻止事件冒泡的同时,也阻止了在相同对象上注册的任何其他事件处理程序的调用。

    取消默认操作
    W3C--event.preventDefault();
    IE--event.returnValue=false;

    function cancelBehavior(event){
    var event==event||window.event;
    if(event.preventDefault)
    event.preventDefault();
    if(event.returnValue)
    event.returnValue=false;//js 只会阻止默认行为,而jQuery既能阻止默认行为又防治对象冒泡
    //return false;//处理使用对象属性注册的处理程序
    }

    相关文章

      网友评论

          本文标题:js事件处理机制

          本文链接:https://www.haomeiwen.com/subject/ftbtrxtx.html