美文网首页
DOM0级和DOM2级的事件处理

DOM0级和DOM2级的事件处理

作者: 凌晨4点的简书 | 来源:发表于2019-06-19 23:25 被阅读0次

    0级DOM

    分为2个:一是在标签内写onclick事件

    二是在JS写onlicke=function(){}函数
    1)

    <input id="myButton" type="button" value="Press Me" onclick="alert('thanks');" >
    
    document.getElementById("myButton").onclick = function () {
        alert('thanks');
    }
    

    2级DOM

    只有一个:监听方法,有两个方法用来添加和移除事件处理程序:addEventListener()和removeEventListener()。

    它们都有三个参数:第一个参数是事件名(如click);

    第二个参数是事件处理程序函数;

    第三个参数如果是true则表示在捕获阶段调用,为false表示在冒泡阶段调用。

    addEventListener():可以为元素添加多个事件处理程序,触发时会按照添加顺序依次调用。
    removeEventListener():不能移除匿名添加的函数。

    document.getElementById("myTest").attachEvent("onclick", function(){alert(1)});
    //等价于
    document.getElementById("myTest").addEventListener("click", function(){alert(1)}, false);
    

    只有2级DOM包含3个事件:事件捕获阶段、处于目标阶段和事件冒泡阶段

    <span>
        <a></a>
    </span>
    

    点击a后capturing(捕捉)阶段事件传播会从document-> span->a,然后发生在a,最后bubbling(冒泡)阶段事件传播会从a->span->document 。
    1.事件冒泡(常用)

    IE中采用的事件流是事件冒泡,先从具体的接收元素,然后逐步向上传播到不具体的元素。

    image

    2.事件捕获(少用)

    Netscapte采用事件捕获,先由不具体的元素接收事件,最具体的节点最后才接收到事件。

    image

    3.DOM事件流

    image

    相关文章

      网友评论

          本文标题:DOM0级和DOM2级的事件处理

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