PointerEvent: isPrimary 属性

isPrimaryPointerEvent 接口的一个只读属性,它指示创建该事件的指针设备是否为主指针。如果触发事件的指针是主指针,则返回 true;否则返回 false

在多指针场景(例如支持多个触摸点的触摸屏)中,此属性用于在每种指针类型的活动指针集中识别一个主指针。只有主指针才会产生兼容鼠标事件。如果作者只希望单指针交互,可以通过忽略非主指针来实现。

如果指针代表鼠标设备,则该指针被视为主指针。如果笔输入指针的 pointerdown 事件在没有其他活动笔输入指针存在时被分派,则该指针被视为主要笔输入指针。如果触摸输入指针的 pointerdown 事件在没有其他活动触摸输入指针存在时被分派,则该指针被视为主要触摸输入指针。

当同时使用两种或多种指针设备类型时,多个指针(每种 pointerType 一个)都被视为主指针。例如,同时移动的触摸点和鼠标光标会产生两个都被视为主指针的指针。如果有多个主指针,则这些指针都会产生兼容鼠标事件(有关指针、鼠标和触摸交互的更多信息,请参阅 指针事件)。

布尔值,如果此事件的指针是主指针,则为 true,否则返回 false

示例

此示例说明了如何使用 isPrimary 的值来调用相应的处理函数。

js
target.addEventListener(
  "pointerdown",
  (event) => {
    if (event.isPrimary) {
      process_primary_pointer(event);
    } else {
      process_secondary_pointer(event);
    }
  },
  false,
);

规范

规范
指针事件
# dom-pointerevent-isprimary

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。