浅谈DOM事件的优化
在 JavaScript 程序的开发中,常常会用到1些频繁触发的 DOM 事件,如 mousemove、resize,还有不是那末经常使用的鼠标滚轮事件:mousewheel (在 Firefox 中,滚轮事件为 DOMMouseScroll)。
阅读器为了确保这些事件能够及时响应,触发的频率会比较高,具体的触发频率各阅读器虽然有出入,但出入不大。很多时候在需要重视性能的场景下使用这些事件会想各种办法对事件的触发频率进行优化,下面说说我的1些优化方法。
mousemove 在拖拽中的优化
拖拽( Drag )是很常见的1个功能,在阅读器还没实现原生的拖拽之前,通过 mousedown、mousemove、mouseup 3种事件类型就能够摹拟出拖拽效果来,固然这里不谈如何去实现1个拖拽功能。
mousemove 事件在拖拽的利用中既要确保拖拽的流畅度,又要确保拖拽时的性能,如何保持二者的平衡呢?
可以通过设置1个计数器来去掉1半的 mousemove 事件的触发,代码以下:?
代码地址