mousedown和jquery中的点击之间的区别

poo*_*ank 32 jquery

我正在学习jquery中的事件.在实施它们时,我遇到了一个疑问.mousedown()和click()事件有什么区别.我应该在什么条件下使用哪个事件.

例如:两个事件在以下代码中执行相同的任务:

$("#p1").mousedown(function(){
  alert("Mouse down over p1!");
});


$("#p1").click(function(){
  alert("Mouse down over p1!");
});
Run Code Online (Sandbox Code Playgroud)

两者都表现相同.有人可以澄清差异.如果相同,我应该更喜欢哪个?

pab*_*ara 44

onMouseDown当按下左侧或右侧(或中间)时将触发.同样,onMouseUp任何按钮释放时都会触发.onMouseDown即使在对象上单击鼠标然后移出它onMouseUp就会触发,而如果单击并按住其他位置的按钮将触发,然后将其释放到对象上方.

onClick只有在同一个对象上按下并释放鼠标左键时才会触发.如果你关心的秩序,如果相同的对象有3点所有设置的事件,这是onMouseDown,onMouseUp,然后onClick.每个偶数只应该触发一次.

细节:

http://api.jquery.com/click/
http://api.jquery.com/mouseup/
http://api.jquery.com/mousedown/

来源书面安东Baksheiev

  • 这些URL引用jQuery,而`onClick`,`onMouseUp`和`OnMouseDown`实际上不是jQuery事件,而是JavaScript事件.我认为最好链接到[在这种情况下的w3c规范.](http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mouseevents)(向下滚动链接页面上的一点) (6认同)

Jiv*_*ngs 14

一个mousedown当按下鼠标按钮事件被触发,但它发布之前.

click事件后,解雇mousedownmouseup事件.