'mouseup'和'click'事件有什么区别?

cai*_*005 28 javascript jquery

使用jQuery,我经常喜欢将事件mousedownmouseup事件结合起来用于推送按钮.

但是,在每种情况下我都使用了mouseup事件,绑定click事件似乎产生了相同的结果.

以下两种方法之间是否存在实质性差异?

// Method 1
$('.myButton').bind('click', callback);

// Method 2
$('.myButton').bind('mouseup', callback);
Run Code Online (Sandbox Code Playgroud)

请注意我正在寻求关于使用这两种方法之间差异的技术解释.这与被标记为欺骗的问题无关:区分点击vs mousedown/mouseup

Bil*_*nch 57

使用mouseup事件,您可以单击屏幕上的其他位置,按住单击按钮,然后将指针移动到mouseup元素,然后释放鼠标指针.

click事件需要在该元素上发生mousedown和mouseup事件.

正常的期望是点击需要mousedown和mouseup事件,所以我建议点击事件.

从可能的重复,似乎鼠标按钮和鼠标按钮也可以由鼠标按钮引起.这与通用用户期望的非常不同.

  • W3C建议在大多数鼠标事件中使用`click`,其中`click`,`mousedown`和`mouseup`将达到预期的效果.后两种存在是为了在需要时增加控制. (3认同)
  • 当单击元素顶部时,鼠标上的中间滚动按钮也会导致单击事件. (2认同)