PointerEvent: isPrimary 屬性

Baseline 已廣泛支援

此特性已經十分成熟,可在許多裝置和瀏覽器版本上使用。自 2020 年 7 月以來,它已在各大瀏覽器中可用。

PointerEvent 介面中只讀的 isPrimary 屬性指示建立該事件的指標裝置是否是主指標。如果導致事件觸發的指標是主指標,則返回 true,否則返回 false

在多指標場景下(例如支援多個觸控點的觸控式螢幕),此屬性用於在每種指標型別的活動指標集合中標識一個主指標。只有主指標會生成相容滑鼠事件。想要僅支援單指標互動的開發者可以透過忽略非主指標來實現。

如果指標代表滑鼠裝置,則該指標被視為主指標。如果其 pointerdown 事件在不存在其他代表筆輸入的活動指標時被分派,則代表筆輸入的指標被視為主筆輸入。如果其 pointerdown 事件在不存在其他代表觸控輸入的活動指標時被分派,則代表觸控輸入的指標被視為主觸控輸入。

當同時使用兩種或兩種以上型別的指標裝置時,多個指標(每種 pointerType 一個)被視為主指標。例如,一個觸控點和一個滑鼠游標同時移動將生成都被視為主指標的指標。如果存在多個主指標,這些指標都將生成相容滑鼠事件(有關指標、滑鼠和觸控互動的更多資訊,請參閱 Pointer events)。

布林值,如果此事件的指標是主指標,則為 true,否則為 false

示例

此示例演示瞭如何使用 isPrimary 的值來呼叫適當的處理函式。

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

規範

規範
指標事件
# dom-pointerevent-isprimary

瀏覽器相容性