我已经开始使用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++;
});
最佳答案
不知道您是否找到问题的答案。解决方案很简单,分为两个部分。首先,由于您尝试将调用与jQuery一起使用,因此应使用Hammer的jQuery插件版本。可以在以下位置找到jQuery插件的当前版本:
http://eightmedia.github.io/hammer.js/dist/jquery.hammer.min.js
第二部分是您需要在选择对象时使用Hammer方法。您可以通过在选择器和绑定(bind)之间插入Hammer调用来实现。像这样:
jQuery对象:
$('nav').on('click', 'button', function(){
/* ... */
});
jQuery Hammer对象:
$('nav').hammer().on('click', 'button', function(){
/* ... */
});
就是这样...