ホームページ >ウェブフロントエンド >H5 チュートリアル >Javascript_html5 チュートリアル スキルにおける高度なジェスチャの使用の概要
IE10 で高度なユーザー入力に対する新たに追加された認識サポート。例: クリック操作を登録すると、addEventListener という文を通じて、現在のユーザーがどのデバイスをクリックしたか、それが指のクリックなのかマウスのクリックなのかを知ることができます。または、スタイラスでクリックします (タブレット デバイスにはすべてスタイラスが付属しています)。
ジェスチャー オブジェクトの作成
Web サイトでジェスチャを処理する最初のステップは、ジェスチャ オブジェクトをインスタンス化することです。
<span style="COLOR: blue">var<p> myGesture = <span style="COLOR: blue">new</span></p> MSGesture();</span>
次に、ジェスチャのターゲット要素を指定します。ブラウザは要素上でジェスチャ イベントをトリガーします。同時に、この要素はイベントの座標空間を決定することもできます。
elm = document.getElementById(<span style="COLOR: maroon">"someElement"</span>
<span style="COLOR: blue">var</span> myGesture = <span style="COLOR: blue">new</span> MSGesture();
elm.addEventListener(<span style="COLOR: maroon">"MSGestureChange"</span>
最後に、ジェスチャ認識中にどのポインタを処理するかをジェスチャ オブジェクトに伝えます。
elm.addEventListener(<span style="COLOR: maroon">"MSPointerDown"</span>, <span style="COLOR: blue">function</span> (evt) {
<span style="COLOR: rgb(0,100,0)">// adds the current mouse, pen, or touch contact for gesture recognition</span>
myGesture.addPointer(evt.pointerId);
});
注: 要素がデフォルトのタッチ操作 (パンやズームなど) を実行しないようにし、入力用のポインター イベントを提供するには、–ms-touch-action
を使用して要素を構成する必要があることを忘れないでください。
ジェスチャ オブジェクトに有効なターゲットが設定され、少なくとも 1 つのポインタが追加されると、ジェスチャ イベントの起動が開始されます。ジェスチャ イベントは、静的ジェスチャ (クリックまたはホールドなど) と動的ジェスチャ (ピンチ、回転、スワイプなど) の 2 つのタイプに分類できます。
クリック最も基本的なジェスチャ認識はクリックです。クリックが検出されると、ジェスチャ オブジェクトのターゲット要素で MSGestureTap
イベントが発生します。クリック イベントとは異なり、タップ ジェスチャは、ユーザーが移動せずにタッチ、マウス ボタンを押す、またはスタイラスでタッチした場合にのみトリガーできます。これは、ユーザーが要素をクリックしているか、ユーザーが要素をドラッグしているかを区別したい場合に便利です。
長押しジェスチャとは、ユーザーが 1 本の指で画面をタッチし、しばらく押したまま動かさずに指を持ち上げる操作を指します。長押し操作中に、ジェスチャのさまざまな状態に対して MSGestureHold
イベントが複数回トリガーされます:
動的なジェスチャ (ピンチや回転など) は、CSS 2D トランジションと同様に、トランジションとして報告されます。動的ジェスチャは、MSGestureStart
、MSGestureChange
(ジェスチャが続くと繰り返し発生します)、および MSGestureEnd
の 3 つのイベントをトリガーできます。各イベントには、スケーリング (縮小)、回転、変形、速度に関する情報が含まれています。
動的なジェスチャはトランジションとして報告されるため、CSS 2D トランジションを含む MSGesture
を使用して写真やパズルなどの要素を簡単に操作できます。たとえば、次の方法で要素の拡大縮小、回転、ドラッグを有効にできます。