在Javascript中,是否有可能在mousemove事件處理程序中確定隊列中是否存在任何掛起的mousemove事件?Javascript mousemove事件隊列
或者,最好能讓事件隊列跳過隊列中除最近一個之外的所有mousemove事件嗎?
我使用鼠標移動&其他鼠標事件,以允許用戶在屏幕上拖動周圍的元素,我不需要浪費CPU & GPU週期重繪上的每個鼠標移動事件已拖動項(其中我更新頂部&左CSS屬性),只要我可以快速跳過中間事件。
我的網站目前沒有遇到任何性能或可視化問題;我只是想讓我的JavaScript儘可能高效。
定義 「重繪」。它只是設置'left' /'top'屬性,還是涉及更多? – 2013-02-19 00:18:08
我認爲有更多有趣的方法來解決您的問題比檢查事件隊列。這種代碼真的很難做到。設置一個計時器比較容易,只有在1/10秒的時間內才能重畫。如果您需要減少硬件上的負載,請花費更長的時間,但他們表示人們可以將事件間隔時間縮短到1/10秒。因此,更頻繁地重畫是大多數人無法察覺的事情(儘管有些人可能會看到閃爍的效果)。 – 2013-02-19 00:21:43
@CrescentFresh:是的,重繪只是'left' /'top'屬性。 – XDR 2013-02-19 02:46:28