是mousedown事件固有地比mouseup事件慢
is mousedown events inherently slower than mouseup events?
我有一个相当粗的页面,其中有很多可点击的元素,我正在一台相对较慢的计算机(约1GHz处理器)上进行测试。页面的一部分是作为页面一部分的屏幕键盘。我将jQuery与所有按钮的事件委派一起使用,并对mousedown或mouseup事件(一个或另一个,而不是同时对两者)做出反应。在测试这两种情况时,mouseup事件似乎比mousedown更慢、更不可靠(有时会错过按钮按下,或者屏幕在响应之前稍微挂起)。如果连续快速按下许多按钮,情况尤其如此。
mousedown本质上应该比mouseup更快/更好,这有什么原因吗?事件授权会对此产生影响吗?为了用户体验,我更喜欢mouseup事件,所以我想知道我是否可以做些什么来提高mouseup的可靠性。
经典的用户点击会触发mousedown
和mouseup
两者之间的时间通常在~50ms之间
在这段短时间内,浏览器可能会因为mousedown
和事件冒泡和传播触发的进程而繁忙,特别是如果您在DOM树中绑定了太多处理程序(如document
或"html, body"
)避免这种情况。
此外,mouseup
可能最终被从未注册
如果某些进程花费了太多时间,或者您的鼠标速度太快,则mouseup
在触发时可能没有超过目标元素,因此永远不会触发该事件。
相关文章:
- 在拖动过程中释放鼠标时忽略 JavaScript mouseUp 事件
- ExtJS 4按钮上的mousedown/mouseup事件
- 用标准javascript而不是jquery中的mousedown、mousemove和mouseup触摸事件句柄
- MSIE 无法识别 .mouseup() 事件之前所选项目的更新
- mouseup事件后禁用jQuery contextMenu
- mouseup事件停止firefox上的click事件
- html select上的MouseUp()事件不起作用
- 事件--'mouseup'鼠标移动后未启动
- 是mousedown事件固有地比mouseup事件慢
- 谷歌地图矩形mouseDown和mouseUp事件无法在边界触发
- 使用jquery在body mouseup事件后停止传播
- 双击时从对话框中选择文件时,避免出现mouseup事件
- jQuery:如何将函数绑定到mouseup事件之后立即发生的某个事件
- 触发旋转的MouseUp事件
- Mouseup事件与可见性开关冲突
- 悬停在iframe上后不会触发文档上的Mouseup事件
- JavaScript mouseup事件被触发多次在一次点击
- 在IE和Safari中滚动条移动后不会触发mouseup事件
- 使用mouseup事件选择文本,使用调用函数选择dbclick事件
- 如何获取"mouseup"之后的元素事件完成