Element: pointerrawupdate イベント
利用可能性は限定的
この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
pointerrawupdate イベントは、ポインターのプロパティが変化し、その変化によって pointerdown または pointerup イベントが発生しない場合に発生します。
このようなプロパティの一覧は pointermove を参照してください。
イベントループ内で、同じポインター ID を持つ別の pointerrawupdate イベントがまだ配送されていない場合、このイベントには統合されたイベントが含まれることがあります。
イベントが統合される場合、配送されたイベントの target は最後に統合されたイベントと同じです。
イベントの統合については、PointerEvent.getCoalescedEvents() の説明を参照してください。
pointerrawupdate と pointermove の違いは、発生頻度です。
ブラウザーはパフォーマンスを向上させるために pointermove イベントの配送を遅らせることがありますが、pointerrawupdate イベントはブラウザーが生成できる限り速く、頻繁に配送されます。
どちらのイベント型もイベントを統合しますが、pointerrawupdate の統合数は少ないため、リスナーはより頻繁に実行されます。
ただし、個々のイベントが持つプロパティ値はどちらも同じです。そのため、同じ移動を対象とする pointermove イベントに比べて、pointerrawupdate の位置や時刻の精度が高いわけではありません。
したがって、pointerrawupdate は、描画やドラッグなど、pointermove よりも低遅延の入力処理が必要で、ポインターに目に見えて遅れて追従する状況を避けたいアプリケーションを対象としています。
イベントの到着頻度が高いため、処理に追いつけるアプリケーションでは、より滑らかに感じられる場合もあります。
一方、pointerrawupdate イベントを監視するとパフォーマンスに影響する可能性があります。高頻度のイベントが必要で、配送と同じ速さで処理できる場合に限り、リスナーを追加してください。
処理が追いつかないアプリケーションでは、応答性が向上するどころか低下するため、イベントリスナー内の処理を大幅に最適化する必要があります。
ほとんどの用途では、ほかのポインターイベント型で十分です。
構文
addEventListener() でこのイベント名を使用してください。
addEventListener("pointerrawupdate", (event) => { })
または、インターフェイスのイベントハンドラープロパティに代入します。
onpointerrawupdate = (event) => { }
イベント型
PointerEvent です。 Event を継承しています。
例
canvas.addEventListener("pointerrawupdate", (event) => {
const events = event.getCoalescedEvents();
if (events.length > 1) {
console.log("Coalesced events:", events.length);
for (const coalescedEvent of events) {
// 統合されたイベントに対して何かをする
}
} else {
// イベントに対して何かをする
console.log("Raw event", event);
}
});
仕様書
| 仕様書 |
|---|
| Pointer Events> # pointerrawupdate> |
| Pointer Events> # dom-globaleventhandlers-onpointerrawupdate> |