事件(十)

《JavaScript 高級程序設計(第三版)》閱讀隨筆

內存和性能

事件委託

當在頁面中存在數量繁多的的事件時,會影響到頁面的整體性能,此時可以通過事件委託的方式解決。比如將所有的點擊事件放在一個事件處理程序中,只有在使用時才創建。

移除事件委託程序

在一個頁面中,可能會存在已創建的事件未回收的情況,當頻凡發生這種情況時,由於該部分內存並不會被合理回收,所以會影響頁面的性能。此時可以通過設置該事件爲空的方式來手動回收內存,或者在 onunload 事件中統一移除委託過的事件。

DOM 的模擬事件

在 document 對象上,可以通過 createEvent 的方式模擬創建事件。在 DOM2 級下,createEvent 方法可以接收以下字符串參數:
UIEvents:一般的 UI 事件;
MouseEvents:鼠標事件;
MutationEvents:DOM 變化事件;
HTMLEvent:HTML 事件;
在 DOM3 級下,另外多了一個 KeyboardEvent 鍵盤事件,原來 DOM2 級下的字符串在去掉最後一個 s 字符串後傳入,可以作爲 DOM3 的參數。
在創建好事件對象以後,首先需要對其進行初始化,初始化內容包含事件的基本屬性,然後可以通過調用 dispatchEvent 方法來執行事件,該方法接收一個模擬事件對象作爲參數。

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