javascript - 使用 PointerEvents 在同一目标上检测两个手指触摸
问题描述
我在屏幕(画布)上有很大的 HTML 元素,我想检测多点触控事件。使用“touchstart”你有“touches”属性,但使用 PointerEvents 我不知道有什么方法可以知道是否发生了多点触控(除了检查是否有超过 1 个目标,这在屏幕上有大元素时显然是不可能的。甚至可能吗?
一些澄清代码:
canvas.addEventListener("pointerdown", (e) => {
// is pointer down is multitouch?
});
VS。
canvas.addEventListener("touchstart", (e) => {
console.log(e.touches.length);
});
非常感谢 :)
解决方案
使用 PointerEvent,您必须将事件缓存在pointerdown
并取消缓存在pointerup
.
我要说的更多内容只是复制 MDN 已有的确切示例:https ://developer.mozilla.org/en-US/docs/Web/API/Pointer_events/Multi-touch_interaction
推荐阅读
- python - 使用 Pandas 过滤数据框中多列的唯一匹配
- swiftui - SwiftUI @EnvironmentObejct 似乎无法更新值
- java - 一键保存drawable文件夹中的多张图片
- javascript - JavaScript 项目石头剪刀布---页面首次加载时控制台的问题
- android - Firebase App Distribution 和 Google play 安全签名
- flutter - 如何在 Flutter 中将列表视图中的项目从一个类添加到另一个类?
- javascript - 如何在不同的 .js 文件上跨反应应用程序共享变量?
- r - 安装后无法加载 R 包
- rust - 我怎么说某个功能仅在给定平台上可用
- git - 如何从与以前不同的路径将新文件添加到现有的 github-repository