1

ユーザーが指定された div で指をスワイプしたときに、イベントを発生させたいと考えています。例: ユーザーが div で指をスワイプすると、特定の関数が呼び出される必要があります。

4

2 に答える 2

1

これにより、イベント ハンドラーが追加されます。

document.getElementById('divId').addEventListener('mspointermove', handler, false);

次に、それがタッチ イベントなのかマウスによるイベントなのかを認識する必要があります。

function handler(event) {
    if (eventObject.pointerType === 2) {
        // touch event
    }
}

タッチ イベントの完全なガイドは次のとおりです。msgesturestart/change/end は、おそらく利用したいものです。

于 2012-09-18T12:14:48.023 に答える
0

最高のエクスペリエンスを得るには、WinRTの完全なジェスチャ認識機能を使用する必要があります。MSDNには、完全に機能するサンプルがあります。これにより、DIVの操作を取得し、必要に応じて操作できるようになります。簡単なウォークスルーはここにあります。次の必要性に注意してください。

  1. MSGestureオブジェクトを作成します
  2. MSPointerDownをキャプチャし、1で作成されたジェスチャインスタンスにポインタIDを追加します。

追加の考慮事項は、経験を見て、必須のスナップポイントを使用するかどうかを検討することです。スクローラー内の複数のアイテムが経験に役​​立つ場合があります。

いくつかのサンプルコード:

<div id="touchMe" style="width:500px; height: 500px; background-color: yellow; "></div>

JavaScript、touchMeが利用可能なときに実行します。

var v = document.getElementById("touchMe");
v.addEventListener("MSGestureStart", function () {
    console.log("foo");
});

var gestureThing = new MSGesture();
gestureThing.target = v;
v.dooHicker = gestureThing;

v.addEventListener("MSPointerDown", function (e) {
    gestureThing.addPointer(e.pointerId);
    console.log("down");
});

v.addEventListener("click", function () {
    console.log("click");
});
于 2012-09-18T18:25:27.320 に答える