使用jQuery委派Hammer.js事件

wil*_*ill 6 jquery events touch hammer.js

我已经开始使用Hammer.js(https://github.com/eightmedia/hammer.js),这是一个很棒的小脚本,但我不确定如何使用jQuery的.on()事件处理程序委派事件.

我在这里设置了一个小jsfiddle示例:http://jsfiddle.net/will/3dUKu/1/

var i = 0;
// How would I apply hammer to this situation?
$('nav').on('click', 'button', function() {
    $('<button id="' + i + '">Extra button ' + i + ' (' + $(this).attr('id') + ')</button>').appendTo('nav');
    i++;
});
Run Code Online (Sandbox Code Playgroud)

小智 3

不知道您是否找到了问题的答案。解决方案很简单,分为两部分。首先,由于您尝试使用 jQuery 进行调用,因此您应该使用 Hammer 的 jQuery 插件版本。可以在以下位置找到 jQuery 插件的当前版本:

http://eightmedia.github.io/hammer.js/dist/jquery.hammer.min.js

第二部分是你需要使用 Hammer 的方法来选择对象。您可以通过在选择器和绑定之间插入 Hammer 调用来完成此操作。就像这样:

jQuery 对象:

$('nav').on('click', 'button', function(){ 
    /* ... */ 
});
Run Code Online (Sandbox Code Playgroud)

jQuery Hammer 对象:

$('nav').hammer().on('click', 'button', function(){
    /* ... */
});
Run Code Online (Sandbox Code Playgroud)

就是这样...