DOM

UIEvent.sourceCapabilities プロパティ

 編集:2022.10.05 by T.A.

[Edge]。読取専用 実験的。→

実験的: これは実験的な機能です。本番で使用する前にブラウザー互換性一覧表をチェックしてください。

UIEvent タッチイベントの生成を担当した物理的な機器に関する情報を提供する InputDeviceCapabilities インターフェイスのインスタンスを返します。このイベントを担当した入力機器がない場合は null を返します。

ユーザーがある入力機器を操作したときに、一連の様々な入力イベントが発生した場合、すべての入力イベントの sourceCapabilities プロパティは、同じ InputDeviceCapabilities のインスタンスを指すことになります。例えば、ユーザーがタッチ画面から指を離したとき、いくつかの UIEvent 、例えば touchend、mousedown、click、focus などが生成されるかもしれません。これらのイベントはすべて、タッチ画面を表す同じ sourceCapabilities を持っている必要があります。

機器がイベントを「担当している」と見なされるのは、その操作がウェブ プラットフォームによって提供される抽象化の一部である場合のみです。例えば、多くのユーザー エージェントはマウスやキーボードでウィンドウのサイズを変更することができますが、この詳細はウェブ プラットフォームには一切公開されないため、resize イベントの sourceCapabilities は通常 null になります。

構文
UIEvent.sourceCapabilities

InputDeviceCapabilities のインスタンスです。

HTML:

<SPAN id=IdTest1>[ここでクリックしてみて…]</SPAN><BR>
<BR>
<SPAN id=IdTest2>[ここでタッチ操作してみて…]</SPAN><BR>
<SPAN id=IdLog></SPAN>

JavaScript:

function Job1(eve){ //clickイベントの処理:
  D=eve.sourceCapabilities; //=[object]:[object InputDeviceCapabilities]。クリックした。
	//firesTouchEvents=[boolean]:false
  IdLog.innerHTML=IdLog.innerHTML +"●"; //表示。
}
function Job2(eve){ //touchstartイベントの処理:(実験できず)
  DA=eve.sourceCapabilities;
  IdLog.innerHTML=IdLog.innerHTML +"○"; //表示。
}
IdTest1.onclick=Job1;      //イベント割り当て。
IdTest2.ontouchstart=Job2; //イベント割り当て。

タッチ入力でないとだめなようです。


テスト