2016-09-30 176 views
0

touchstart掛件點擊?JS觸摸事件掛件點擊

如果是,那麼mousedown是什麼?如果不是那麼那麼click

mousedown = touchstart 
click = ? 
mouseup = touchend 

mousedown = ? 
click = touchstart 
mouseup = touchend 

mousedown以及類似的事件觸發始終在移動設備上?

回答

1

事實上點擊是mousedown - >繼續關注要素上 - >mouseupclick是一起mouseup派出

這同樣適用於touchstarttouchendclick進行調度,touchend

關注一下。以下示例可以更清楚地瞭解:

<html> 
    <head> 
    </head> 
    <body> 
    <button id="test">test</button> 
    <script> 
     document.getElementById("test").addEventListener("mousedown",() => { 
     console.log("down"); 
     }); 
     document.getElementById("test").addEventListener("click",() => { 
     console.log("click"); 
     }); 
     document.getElementById("test").addEventListener("mouseup",() => { 
     console.log("up"); 
     }); 
    </script> 
    </body> 
</html> 

單擊並按住o按下test按鈕,您將在您的控制檯down中看到。現在你釋放鼠標,你會看到clickup

如果您單擊並按住,則在釋放之前將指針移開,您既不會看到click也不會看到up

請注意,touchstarttouchend之間的長時間發送contextmenu(右鍵單擊)而不是隻有click

+0

你的意思是mousedown和持有觸發點擊一段時間後?所以吊墜會是touchevent(或多或少)? –

+0

我應該在咖啡前早上停止服用。我糾正了一些錯別字,並提供了一個例子。讓我知道現在是否清楚。 – Fylax

+0

是的,你的答案在你的第二次迭代後有了大幅度的提高:P這種行爲是顯而易見的......我應該停止提問而不喝咖啡;) –