使用同一目标上的PointerEvents检测两个手指触摸

时间:2018-06-20 19:37:58

标签: javascript ecmascript-6 mobile-website pointer-events

我在屏幕上有很大的HTML元素(画布),并且我想检测多点触摸事件。 使用“ touchstart”可以拥有“ touches”属性,但是使用PointerEvents我不知道有什么方法可以确定是否发生了多点触摸(除了检查目标是否超过1个,当屏幕上有较大的元素时,这显然是不可能的。 甚至有可能吗?

一些说明代码:

canvas.addEventListener("pointerdown", (e) => {
    // is pointer down is multitouch?
});

VS。

canvas.addEventListener("touchstart", (e) => {
    console.log(e.touches.length);
});

非常感谢:)

1 个答案:

答案 0 :(得分:3)

使用PointerEvent,您必须将事件缓存在pointerdown上,然后将其缓存在pointerup上。

我想说的更多只是复制MDN已包含的确切示例:https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events/Multi-touch_interaction