2013-03-10 58 views
0

我有一組嵌套的DOM元素和鼠標事件處理程序(mouseover,mouseout)。事件的副作用更新其他視圖;這些更新可能在計算上很昂貴,並且可能會產生煩人的視覺閃爍,所以我想盡量減少它們。我的第一個想法是構建一個限制機制,在某個時間間隔內延遲處理鼠標懸停事件,讓鼠標有機會退出相關元素。如果在指定的時間間隔內沒有退出,則會觸發事件;如果出現退出,則該事件被取消而不被傳播。鼠標事件節流體系結構

我的問題是,現有的UI框架是否已經支持這種機制,如果是的話,哪些人會這樣做?雖然我可以確定這一點,但這似乎是其他人可能已經解決的問題。

回答

1

您可以在您的鼠標事件處理程序上使用underscore js' throttle。最近這篇博客在博客上發表了博文:http://blog.toggl.com/2013/02/increasing-perceived-performance-with-_throttle/。不過,有一些涉及jQuery的猴子補丁,所以它不是最乾淨的方法。

+0

這很接近,但不完全是我的問題:我不一定有很多冗餘事件,我想保留一個子集;如果終止事件發生在啓動事件的足夠短的時間間隔內,我有一些事件可能會被完全抑制。 – 2013-03-10 22:59:08