将jTestes与jQuery一起使用;关于;事件

将jTestes与jQuery一起使用;关于;事件,jquery,mobile,gesture,jgestures,Jquery,Mobile,Gesture,Jgestures,我有许多动态生成的div需要点击。对于面向鼠标的设备,我通常会这样做: $("#wrap").on("click", 'div', function() { console.log("clicked!"); }); 我注意到,当使用jGestures定制事件时,手机的灵敏度大大提高,这种方式使用时效果非常好: $("#wrap").bind('tapone', function() { console.log("tapped!"); }); 但是,我不能将tapone与jQuery一起使用。

我有许多动态生成的div需要点击。对于面向鼠标的设备,我通常会这样做:

$("#wrap").on("click", 'div', function() { console.log("clicked!"); });
我注意到,当使用jGestures定制事件时,手机的灵敏度大大提高,这种方式使用时效果非常好:

$("#wrap").bind('tapone', function() { console.log("tapped!"); });
但是,我不能将
tapone
与jQuery
一起使用。在类似这样的事件中:

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

有人知道解决这个问题的方法吗?

如果您有以下问题,请建立您自己的委派:

$("#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!"); 
});

@johnsmith-
e.target.getAttribute('name')
实际上。。。它不起作用!在你的小提琴中,它起作用是因为你在使用“点击”——这对我也起作用。但是我正在寻找jgesture“tapone”,我意识到,但是如果该事件按照事件应该的方式工作,那么它就有一个event.target。您可以将其与创建委托功能进行比较,通过以非动态父级为目标,就像在示例中一样。好的,它没有。显然,我需要修改jgesture中的某些内容。因为它的基本功能是返回的事件是包装器div,而不是实际的child@johnsmith-是的,这将是一个问题,可能也是jQuery的事件delagation无法工作的原因。解决这个问题的唯一方法是更改插件以返回目标而不是包装器。