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 回答