在使用jQuery时,我经常喜欢将mousedown
和mouseup
事件一起用于可推送的按钮。
但是,在我使用mouseup
事件的每种情况下,绑定click
事件似乎都会产生相同的结果。
下面的两种方法有什么本质上的区别吗?
// Method 1
$('.myButton').bind('click', callback);
// Method 2
$('.myButton').bind('mouseup', callback);
请注意,我正在寻求关于使用这两种方法之间的差异的技术解释。这与已标记为复制的问题无关:
发布于 2013-02-11 10:52:47
使用mouseup事件,您可以单击屏幕上的其他位置,按住单击按钮,将指针移动到mouseup元素,然后释放鼠标指针。
单击事件要求在该元素上发生mousedown和mouseup事件。
通常的预期是,单击需要mousedown和mouseup事件,所以我建议使用click事件。
从可能的副本中,似乎鼠标向上和鼠标向下事件也可以由鼠标按钮而不是左击按钮引起。这与普通用户的期望非常不同。
发布于 2016-12-03 08:07:26
我的理解是,"click“隐藏了很多复杂性(比如确保鼠标向下/向上出现在同一元素上,用ESC/右键单击取消)。最好使用"click“而不是"mousedown/up”。
一种场景是,当应用程序经常以替换底层DOM元素的方式更新内容时,"click“似乎不起作用。在这种情况下,"click“将不会被触发,这可能会导致客户体验不佳。
发布于 2013-02-11 10:55:14
影响编码方式的最大区别是: URL标记上的click
事件负责更改a
。相比之下,mousedown
和mouseup
事件不会实现这一点
https://stackoverflow.com/questions/14805225
复制相似问题