【问题标题】:is mousedown events inherently slower than mouseup events?mousedown 事件本质上是否比 mouseup 事件慢?
【发布时间】:2014-10-07 15:37:14
【问题描述】:

我有一个相当厚实的页面,其中有很多可点击的元素,我正在一台相对较慢的计算机(~1GHz 处理器)上进行测试。页面的一部分是作为页面一部分的屏幕键盘。我对所有按钮使用带有事件委托的 jQuery,并对 mousedown 或 mouseup 事件(一个或另一个,而不是同时)做出反应。在测试这两种情况时,似乎 mouseup 事件比 mousedown 事件更慢且更不可靠(有时会错过按钮按下,或者屏幕在响应之前略微挂起)。如果连续快速按下大量按钮,情况尤其如此。

mousedown 有什么理由天生就应该比 mouseup 更快/更好吗?事件委托会对此产生影响吗?为了用户体验,我更喜欢 mouseup 事件,所以我想知道是否可以做些什么来提高 mouseup 的可靠性。

【问题讨论】:

  • 您是否在使用不同浏览器时遇到同样的问题?

标签: javascript jquery


【解决方案1】:

经典的用户点击触发mousedownmouseup
两者之间的时间通常是 ~50ms
由于mousedown事件冒泡和传播 触发的进程,浏览器可能在短时间内很忙,特别是如果您在 DOM 树中绑定了太多的处理程序,例如 document"html, body"避免这种情况

另外,mouseup 可能最终从未注册
如果某些进程花费了太多时间,或者您的鼠标速度太快,mouseup 在触发时可能不在目标元素上,因此永远不要触发它事件

【讨论】:

    猜你喜欢
    • 2012-11-13
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多