PointerEvent: isPrimary プロパティ
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.
isPrimary
は PointerEvent
インターフェイスの読み取り専用プロパティで、イベントを生成したポインター機器が主ポインターであるかどうかを示します。 イベントの発生原因となったポインターが主機器である場合は true
を返し、それ以外の場合は false
を返します。
マルチポインターのシナリオ(複数のタッチ点に対応するタッチ画面など)では、このプロパティを使用して、各種類のアクティブなポインターの集合からマスターポインターを識別します。 主ポインターのみが互換マウスイベントを生成します。 単一のポインターによる操作のみを希望する場合は、主ポインターではないものを無視することによって実現することができます。
ポインターがマウスを表している場合、そのポインターが主と見なされます。 ペン入力を表すポインターは、その pointerdown
イベントが、ペン入力を表す他のアクティブなポインターがないときに送出された場合、主ペン入力と見なされます。タッチ入力を表すポインターは、その pointerdown
イベントが、タッチ入力を表す他のアクティブなポインターが存在しないときに送出された場合、主タッチ入力と見なされます。
2 種類以上のポインター機器が同時に使用されている場合、複数のポインター(pointerType
ごとに 1 つ)が主と見なされます。 例えば、タッチ接触とマウスカーソルが同時に動かされると、両方とも主と見なされるポインターが生成されます。 複数の主ポインターがある場合、これらのポインターはすべて互換マウスイベントを生成します(ポインター、マウス、およびタッチの相互作用の詳細については、ポインターイベントを参照)。
値
論理値で、このイベントのポインターが主ポインターである場合は true
を返し、そうでない場合は false
を返します。
例
この例は、isPrimary
の値を使用して、適切な処理関数を呼び出す方法を示しています。
target.addEventListener(
"pointerdown",
(event) => {
if (event.isPrimary) {
process_primary_pointer(event);
} else {
process_secondary_pointer(event);
}
},
false,
);
仕様書
Specification |
---|
Pointer Events # dom-pointerevent-isprimary |
ブラウザーの互換性
BCD tables only load in the browser