事件(十)

《JavaScript 高级程序设计(第三版)》阅读随笔

内存和性能

事件委托

当在页面中存在数量繁多的的事件时,会影响到页面的整体性能,此时可以通过事件委托的方式解决。比如将所有的点击事件放在一个事件处理程序中,只有在使用时才创建。

移除事件委托程序

在一个页面中,可能会存在已创建的事件未回收的情况,当频凡发生这种情况时,由于该部分内存并不会被合理回收,所以会影响页面的性能。此时可以通过设置该事件为空的方式来手动回收内存,或者在 onunload 事件中统一移除委托过的事件。

DOM 的模拟事件

在 document 对象上,可以通过 createEvent 的方式模拟创建事件。在 DOM2 级下,createEvent 方法可以接收以下字符串参数:
UIEvents:一般的 UI 事件;
MouseEvents:鼠标事件;
MutationEvents:DOM 变化事件;
HTMLEvent:HTML 事件;
在 DOM3 级下,另外多了一个 KeyboardEvent 键盘事件,原来 DOM2 级下的字符串在去掉最后一个 s 字符串后传入,可以作为 DOM3 的参数。
在创建好事件对象以后,首先需要对其进行初始化,初始化内容包含事件的基本属性,然后可以通过调用 dispatchEvent 方法来执行事件,该方法接收一个模拟事件对象作为参数。

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