Js查漏補缺-08

0x00 三種動態創建元素方法的對比

    1 document.write();如果頁面文檔流加載完了再調用會重繪頁面,

      這種方法會刪除之前的頁面並重建一個頁面,然後將函數中的內容寫入新頁面;

    2 innerHTML

      在創建大量元素時效率更高(使用字符數組,不能拼接字符串);結構更復雜一些;

    3 creatElement();

      在創建大量元素時效率稍低,但結構更加清晰;

0x01 事件註冊

    註冊事件有兩種方式,註冊事件和綁定事件

    onclick()等都是處理函數,註冊事件一個元素只能設置一個相同的處理函數,後面的處理函數會將前面的處理函數覆蓋

    但是綁定事件可以做到同一事件綁定多個監聽器,所以更爲推薦使用綁定事件 // ie9後的方法爲addEventListener()

    addEventListener(type, listener, useCapture)

    type 事件類型字符串

    listener 事件處理函數

    useCapture 在DOM樹中,註冊了listener的元素, 是否要先於它下面的EventTarget,調用該listener。 當useCapture(設爲true) 時,沿着DOM樹向上冒泡的事件,不會觸發listener。當一個元素嵌套了另一個元素,並且兩個元素都對同一事件註冊了一個處理函數時,所發生的事件冒泡和事件捕獲是兩種不同的事件傳播方式。事件傳播模式決定了元素以哪個順序接收事件。。 如果沒有指定, useCapture 默認爲 false

    刪除事件監聽可以使用removeEventListener()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章