2010-12-08 73 views
5

它是做綁定的過程,還是綁定了很多東西,這是綁定更多事件的主要問題,而不是必要的?是什麼讓綁定變慢?

答案可能是兩種,但在多大程度上?

此外,我會假設mouseover事件比點擊事件更昂貴,因爲他們必須更頻繁地檢查。對?

回答

2

事件的結合確實需要時間,因此,如果你綁定了一百個或更多的事件,在綁定所有這些事件的時間內,用戶與瀏覽器的交互將是「平淡無奇的」。

頁面上的事件處理程序越多,事件隊列越長,UI越慢。

@Juan很好地總結了事件代表團在他​​的答案中的單個句子,作爲綁定事件到許多子元素的替代方案。

+0

「事件隊列越長」< - 綁定越多,識別單個人所需的處理越多?這是這個想法嗎? – Matrym 2010-12-08 00:51:12

1

據我注意到,你添加的聽衆越多,用戶界面就會越慢。事件委託使用較少的內存;而不是每個子節點的偵聽器,您在父元素上有一個更智能的處理程序。內存少,附着和分離處理程序少。

鼠標懸停事件不一定越貴,這不是額外的內存,它只是你的處理程序運行得非常頻繁,所以你需要確保它的光碼