8

Hammer.jsは、私のWebアプリにJavaScriptタッチとジェスチャーのサポートを追加します。私の問題は、ドキュメントの準備ができたときに.ajax()を呼び出すまで存在しないDOM要素で.hammer()を使用することにあります。

以前、私は次のようなものを使用しました:

$('#parent').on('click', '.child', function(e){
    $(this).hammer()...
});

ただし、.on()イベントタイプはHammerイベントタイプと一致しないため、.on()を呼び出さずにイベントをHammerにバインドできる必要があります。どんな助けでもありがたいです-私は決してjQueryの天才ではなく、イベントバインディングにも精通していません。

4

2 に答える 2

6

toe.jsを試してみてください

Hammer.jsに触発されたライブラリはtoe.jsで、Hammer.jsがカスタム実装を使用するjQuery特殊イベントAPIを使用します。

したがって、要素をさらに初期化することなく、次のように使用できるはずです。

$('#parent').on('tap', '.child', function(e){
  // ... Do something
});

backbone.jsは標準のjQueryイベントAPIを使用しているため、toe.jsに切り替えました。

于 2013-03-18T15:31:50.850 に答える
5

jquery.hammer.jsソースを見ると、イベントの委任に問題はないはずです。

$("#parent").on("doubletap",".child",dostuff);

ページに要素を追加するときは、必ず.hammer()要素を呼び出すようにしてください。

于 2012-12-03T22:33:21.120 に答える