可能平常用的比較多的點(diǎn)擊事件都是click事件,今天看別人寫的代碼,發(fā)現(xiàn)綁定的是mousedown,mousemove,按表面意思來看,mousedown和click似乎都是表示"點(diǎn)擊",但了解后才發(fā)現(xiàn),他們具體表示的“點(diǎn)擊”動作是不同的。
mousedown
當(dāng)鼠標(biāo)指針移動到元素上方,并按下鼠標(biāo)按鍵(左、右鍵均可)時,會發(fā)生 mousedown 事件。
與 click 事件不同,mousedown 事件僅需要按鍵被按下,而不需要松開即可發(fā)生。
mouseup
當(dāng)在元素上松開鼠標(biāo)按鍵(左、右鍵均可)時,會發(fā)生 mouseup 事件。
與 click 事件不同,mouseup 事件僅需要松開按鈕。當(dāng)鼠標(biāo)指針位于元素上方時,放松鼠標(biāo)按鈕就會觸發(fā)該事件。
click
當(dāng)鼠標(biāo)指針停留在元素上方,然后按下并松開鼠標(biāo)左鍵時,就會發(fā)生一次 click 事件。
注意:觸發(fā)click事件的條件是按下并松開鼠標(biāo)左鍵!按下并松開鼠標(biāo)右鍵并不會觸發(fā)click事件。
三個事件的觸發(fā)順序
若在同一個元素上按下并松開鼠標(biāo)左鍵,會依次觸發(fā)mousedown、mouseup、click,前一個事件執(zhí)行完畢才會執(zhí)行下一個事件
若在同一個元素上按下并松開鼠標(biāo)右鍵,會依次觸發(fā)mousedown、mouseup,前一個事件執(zhí)行完畢才會執(zhí)行下一個事件,不會觸發(fā)click事件