8

Hammer.js为我的 Web 应用程序添加了 javascript 触摸和手势支持。我的问题在于将 .hammer() 与 .ajax() 调用文档准备好的之前不存在的 DOM 元素一起使用。

以前,我使用过类似的东西:

$('#parent').on('click', '.child', function(e){
    $(this).hammer()...
});

但是,我需要能够在不调用 .on() 的情况下将事件与 Hammer 绑定,因为 .on() 事件类型与 Hammer 事件类型不匹配。任何帮助表示赞赏 - 我绝不是 jQuery 天才,也不是非常熟悉事件绑定。

4

2 回答 2

6

试试 toe.js

Hammer.js启发的库是toe.js,它使用 jQuery 特殊事件 API,其中 Hammer.js 使用自定义实现。

因此,无需对您的元素进行任何进一步的初始化,您应该能够像这样使用它:

$('#parent').on('tap', '.child', function(e){
  // ... Do something
});

我已切换到 toe.js,因为backbone.js 使用标准的jQuery 事件API。

于 2013-03-18T15:31:50.850 回答
5

查看jquery.hammer.js源代码,您应该可以毫无问题地委派事件。

$("#parent").on("doubletap",".child",dostuff);

只需确保.hammer()在将元素添加到页面时调用它们即可。

于 2012-12-03T22:33:21.120 回答