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