ポインター イベントの更新

ポインター イベントは、マウス、ペン、タッチスクリーンなどのデバイスからの、ハードウェアを区別しないポインター入力を処理するイベントおよび関連インターフェイスです。Internet Explorer 10 での導入以来、ポインター イベントは、他のブラウザー ベンダーや Web 標準コミュニティからのフィードバックや支援により、World Wide Web コンソーシアム (W3C) 仕様になりました。

W3C のポインター イベント仕様の勧告候補に準拠するために、Internet Explorer 11 の実装は Internet Explorer 10 の実装から若干変更されました。

MS ベンダー プレフィックスの削除

Internet Explorer 10 がリリースされた時点では、W3C ポインター イベント仕様は完成していなかったため、ポインター イベントの実装にベンダー プレフィックスが使われていました。 その後、この仕様は勧告候補の段階に達したため、MS ベンダー プレフィックス バージョンの API は推奨されなくなり、仕様で定義されたプレフィックスの付かないシグニチャが使われるようになりました。Internet Explorer 11 以降では、ポインター イベント API の Microsoft プレフィックス付きバージョンはサポートされなくなっており、今後のリリースで削除される可能性があります。

非推奨になった API代替 API
MSPointerDown イベントpointerdown イベント
MSPointerUp イベントpointerup イベント
MSPointerCancel イベント pointercancel イベント
MSPointerMove イベントpointermove イベント
MSPointerOver イベントpointerover イベント
MSPointerOut イベントpointerout イベント
MSPointerEnter イベントpointerenter イベント
MSPointerLeave イベントpointerleave イベント
MSGotPointerCapture イベントgotpointercapture イベント
MSLostPointerCapture イベントlostpointercapture イベント
-ms-touch-action CSS プロパティtouch-action CSS プロパティ
element.style.msTouchAction プロパティelement.style.touchAction プロパティ
onmspointer* 属性onpointer* 属性
element.msSetPointerCapture() メソッド element.setPointerCapture() メソッド
element.msReleasePointerCapture() メソッドelement.releasePointerCapture() メソッド
msMaxTouchPointsmaxTouchPoints

 

コードでポインター イベントを使い、Internet Explorer 10 との互換性を維持する必要がある場合は、次のフォールバックのパターンを使うことができます。


if(window.PointerEvent) {
    elm.addEventListener("pointerdown", foo);
} else if (window.MSPointerEvent) {
    elm.addEventListener("MSPointerDown", foo);
} else {
    elm.addEventListener("mousedown", foo);
}

動作の更新

W3C ポインター イベント仕様の技術的詳細が変更されました。ポインター イベントの Internet Explorer 11 での実装は、Internet Explorer 10 の元の実装から動作が次のように変更されました。

ポインター イベントの領域 Internet Explorer 10Internet Explorer 11
pointerenter
pointerleave
サポートされないサポートされる
PointerEvent.button
PointerEvent.buttons
ペンの消しゴム ボタンはサポートされないペンの消しゴム ボタンがサポートされる
PointerEvent.pressure 筆圧をサポートしないハードウェアでは常に値 0 を返すアクティブな接触 (マウス ボタンを押すなど) の場合は値 0.5 を返し、それ以外の場合、筆圧をサポートしないハードウェアでは 0 を返す。
PointerEvent.height
PointerEvent.width
スクリーン ピクセル単位の値を返すCSS ドキュメントのピクセル単位の値を返す
click
contextmenu
dblclick
MouseEvent をディスパッチするPointerEvent をディスパッチする (MouseEvent から継承する)
PointerEvent.pointerType 整数値を返す文字列値を返す
releasePointerCapture 要素で呼び出されると、指定されたポインターのキャプチャを現在キャプチャがある要素から解放する呼び出し側の要素に既にキャプチャがある (setPointerCapture を使う) 場合にのみ、ポインターを解放する
MSPointerHover サポートされる (サーフェスにタッチすることなく、要素上にペンを移動したときに発生する)サポートされない (発生しない)。 pointermove を使って event.buttons プロパティを検査し、ポインターがホバーしているかどうかを判別する。CSS :hover など、その他のホバー動作も依然として適用される。
pointermove ペンの場合、サーフェスにタッチしている場合 (ホバーしていない場合) にのみ発生するすべてのペンの動きに対して発生する (ホバーしているかどうかは関係ない)
pointerEnabled ベンダー プレフィックスありでサポートされる (msPointerEnabled)プレフィックスなしでサポートされる (pointerEnabled) が、機能検出を行う window.PointerEvent インターフェイスを使うため非推奨

 

 

 

表示:
© 2015 Microsoft