touchstart
是要点击的吊坠吗?
如果是,mousedown
是什么?如果不是那么click
?
mousedown = touchstart
click = ?
mouseup = touchend
或
mousedown = ?
click = touchstart
mouseup = touchend
移动设备上是否始终触发mousedown
和类似事件?
答案 0 :(得分:1)
实际上点击是mousedown
- >继续关注元素 - > mouseup
click
与mouseup
一起发送。
同样适用于touchstart
和touchend
,click
会调度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>
您点击并按住test
按钮,您将在控制台down
中看到。现在您释放鼠标,您将看到click
和up
。
如果您点击并按住,则在释放之前将指针移开,您既不会看到click
也不会看到up
。
请注意,touchstart
和touchend
之间的较长时间会发送contextmenu
(右键单击),而不只是click
。