淺談DOM事件的優化
在 JavaScript 程序的開發中,常常會用到1些頻繁觸發的 DOM 事件,如 mousemove、resize,還有不是那末經常使用的鼠標滾輪事件:mousewheel (在 Firefox 中,滾輪事件為 DOMMouseScroll)。
閱讀器為了確保這些事件能夠及時響應,觸發的頻率會比較高,具體的觸發頻率各閱讀器雖然有出入,但出入不大。很多時候在需要重視性能的場景下使用這些事件會想各種辦法對事件的觸發頻率進行優化,下面說說我的1些優化方法。
mousemove 在拖拽中的優化
拖拽( Drag )是很常見的1個功能,在閱讀器還沒實現原生的拖拽之前,通過 mousedown、mousemove、mouseup 3種事件類型就能夠摹擬出拖拽效果來,固然這里不談如何去實現1個拖拽功能。
mousemove 事件在拖拽的利用中既要確保拖拽的流暢度,又要確保拖拽時的性能,如何保持二者的平衡呢?
可以通過設置1個計數器來去掉1半的 mousemove 事件的觸發,代碼以下:?
代碼地址