【浅谈DOM事件的优化】
淺談DOM事件的優(yōu)化
在 JavaScript 程序的開發(fā)中,經(jīng)常會(huì)用到一些頻繁觸發(fā)的 DOM 事件,如 mousemove、resize,還有不是那么常用的鼠標(biāo)滾輪事件:mousewheel (在 Firefox 中,滾輪事件為 DOMMouseScroll)。
瀏覽器為了確保這些事件能夠及時(shí)響應(yīng),觸發(fā)的頻率會(huì)比較高,具體的觸發(fā)頻率各瀏覽器雖然有出入,但出入不大。很多時(shí)候在需要注重性能的場景下使用這些事件會(huì)想各種辦法對(duì)事件的觸發(fā)頻率進(jìn)行優(yōu)化,下面說說我的一些優(yōu)化方法。
mousemove 在拖拽中的優(yōu)化
拖拽( Drag )是很常見的一個(gè)功能,在瀏覽器還沒實(shí)現(xiàn)原生的拖拽之前,通過 mousedown、mousemove、mouseup 3種事件類型就可以模擬出拖拽效果來,當(dāng)然這里不談如何去實(shí)現(xiàn)一個(gè)拖拽功能。
mousemove 事件在拖拽的應(yīng)用中既要確保拖拽的流暢度,又要確保拖拽時(shí)的性能,如何保持兩者的平衡呢?
可以通過設(shè)置一個(gè)計(jì)數(shù)器來去掉一半的 mousemove 事件的觸發(fā),代碼如下:
代碼地址
轉(zhuǎn)載于:https://blog.51cto.com/melorogee/1640294
總結(jié)
以上是生活随笔為你收集整理的【浅谈DOM事件的优化】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【视频】利用IDEA 创建 spring
- 下一篇: 表likp新增第一次过账输入日期字段,v