91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS的事件冒泡和事件捕獲

發布時間:2020-07-26 21:20:35 來源:網絡 閱讀:284 作者:蓓蕾心晴 欄目:開發技術

先上結論:他們是描述事件觸發時序問題的術語。事件捕獲指的是從document到觸發事件的那個節點,即自上而下的去觸發事件。相反的,事件冒泡是自下而上的去觸發事件。綁定事件方法的第三個參數,就是控制事件觸發順序是否為事件捕獲。true,事件捕獲;false,事件冒泡。默認false,即事件冒泡。Jquery的e.stopPropagation會阻止冒泡,意思就是到我為止,我的爹和祖宗的事件就不要觸發了。

這是HTML結構

1
2
3
<div id="parent">
  <div id="child" class="child"></div>
</div>

現在我們給它們綁定上事件

            document.getElementById("parent").addEventListener("click",function(e){
                alert("parent事件被觸發,"+this.id);
            })
            document.getElementById("child").addEventListener("click",function(e){
                alert("child事件被觸發,"+this.id)
            })

結果:

child事件被觸發,child
parent事件被觸發,parent

結論:先child,然后parent。事件的觸發順序自內向外,這就是事件冒泡。

現在改變第三個參數的值為true

       document.getElementById("parent").addEventListener("click",function(e){
                alert("parent事件被觸發,"+e.target.id);
            },true)
            document.getElementById("child").addEventListener("click",function(e){
                alert("child事件被觸發,"+e.target.id)
            },true)

結果:

parent事件被觸發,parent
child事件被觸發,child

結論:先parent,然后child。事件觸發順序變更為自外向內,這就是事件捕獲。

貌似沒什么卵用,上一個利用事件冒泡的案例,反正我是經常會用到。

JS的事件冒泡和事件捕獲

    <ul>
            <li>item1</li>
            <li>item2</li>
            <li>item3</li>
            <li>item4</li>
            <li>item5</li>
            <li>item6</li>
        </ul>

JS的事件冒泡和事件捕獲

需求是這樣的:鼠標放到li上對應的li背景變灰。

利用事件冒泡實現:

       $("ul").on("mouseover",function(e){
                $(e.target).css("background-color","#ddd").siblings().css("background-color","white");
            })

也許有人會說,我們直接給所有li都綁上事件也可以啊,一點也不麻煩,只要……

       $("li").on("mouseover",function(){
                $(this).css("background-color","#ddd").siblings().css("background-color","white");
            })

是,這樣也行。而且從代碼簡潔程度上,兩者是相若仿佛的。但是,前者少了一個遍歷所有li節點的操作,所以在性能上肯定是更優的。

還有就是,如果我們在綁定事件完成后,頁面又動態的加載了一些元素……

$("<li>item7</li>").appendTo("ul");

這時候,第二種方案,由于綁定事件的時候item7還不存在,所以為了效果,我們還要給它再綁定一次事件。而利用冒泡方案由于是給ul綁的事件……

高下立判!


轉載自:http://www.cnblogs.com/qq9694526/p/5653728.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

保康县| 蓬莱市| 新源县| 吴桥县| 宁城县| 靖远县| 轮台县| 许昌市| 历史| 贵阳市| 政和县| 石河子市| 潍坊市| 遂溪县| 湘西| 抚顺市| 邵阳市| 刚察县| 屏东市| 苏州市| 新野县| 广德县| 江永县| 栾川县| 夏津县| 武城县| 岳阳县| 岢岚县| 承德市| 毕节市| 青田县| 买车| 曲靖市| 来凤县| 宝清县| 翁牛特旗| 奎屯市| 衡南县| 正蓝旗| 于都县| 吴旗县|