2

タップする必要がある動的に生成された div がいくつかあります。マウス指向のデバイスの場合、通常は次のようにします。

$("#wrap").on("click", 'div', function() { console.log("clicked!"); });

jGestures カスタム イベントを使用すると、モバイルで感度が大幅に向上することに気付きました。これは、次のように使用すると完全に機能します。

$("#wrap").bind('tapone', function() { console.log("tapped!"); });

ただし、次のようなtaponejQuery.onイベントでは使用できません。

$("#wrap").on("tapone", 'div', function() { console.log("tapped!"); });

この問題を回避する方法を知っている人はいますか?

4

1 に答える 1

0

これがある場合は、独自の委任を作成します。

$("#wrap").on('click', '#myID', function() { console.log("clicked!"); });

実際に行うことは次のとおりです。

$("#wrap").on('click', function(e) { 
    if ( e.target.id == 'myID' )
        console.log("clicked!"); 
});

したがって、カスタムイベントの場合は次のことができます。

$("#wrap").on("tapone", function(e) {
    if ( e.target.tagName.toLowerCase() == 'div' )
        console.log("tapped!"); 
});

フィドル

于 2013-04-07T10:28:43.617 に答える