js canvas触摸只触发start事件 如何处理
时间: 2024-02-01 07:16:42 浏览: 65
JS中touchstart事件与click事件冲突的解决方法
在JavaScript中,如果你希望在Canvas上处理触摸事件,你需要使用`touchstart`、`touchmove`和`touchend`事件。如果你只想处理`touchstart`事件,你可以通过以下方式实现:
```javascript
canvas.addEventListener("touchstart", function (event) {
event.preventDefault(); // 阻止默认行为
var touch = event.touches[0]; // 获取第一个触摸点
var x = touch.pageX - canvas.offsetLeft; // 获取触摸点相对于canvas左上角的x坐标
var y = touch.pageY - canvas.offsetTop; // 获取触摸点相对于canvas左上角的y坐标
// 处理触摸事件
}, false);
```
在上面的代码中,`event.preventDefault()`可以阻止浏览器默认的行为,例如滚动页面等。`event.touches[0]`可以获取第一个触摸点的信息,包括坐标等。接下来,你可以使用获取到的坐标来处理触摸事件。
阅读全文