【问题标题】:Bind Fastclick to new dynamically created elements with jQuery使用 jQuery 将 Fastclick 绑定到新的动态创建的元素
【发布时间】:2013-10-23 23:49:15
【问题描述】:

我正在将 Fastclick (https://github.com/ftlabs/fastclick) 用于完全用 js(主要是 jQuery)编写的 Phonegap 应用程序。我使用 Fastclick 来消除 iOS 在正常点击时增加的 300 毫秒延迟。效果很好。

我唯一的问题是试图将 Fastclick 功能绑定到在初始页面加载后创建的动态元素。

这是第一次附加 Fastclick 的方式:

$(function() {
    FastClick.attach(document.body);
});

然后每次我在原始元素上使用普通的 jQuery click 事件,它就可以正常工作。

$(".original-element").click(function() {
   // Just works!
});

我希望能够在使用应用程序时对通过 JS 创建的新元素执行相同的操作。例如:

$(body).append("<button id="new-btn">Press me</button>");

$("#new-btn").click(function() {
  // Please help me work with Fastclick
});

所以基本上,我只需要知道如何在将 Fastclick 动态添加到 DOM 后将它们绑定到新元素上。提前致谢!

【问题讨论】:

  • 尚未验证,但从代码看来它应该可以工作。检查FastClick.prototype.needsClick 方法。没用过Phonegap,有没有办法轻松复制这个问题?
  • .needsclick 从元素中移除快速点击功能。我需要将功能添加到元素。我会尝试为我们设置一个 jsFiddle 来复制问题。

标签: javascript jquery cordova


【解决方案1】:

当您完成创建新元素后,只需重新实例化 fastclick

new FastClick(document.body);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-11-20
  • 1970-01-01
  • 1970-01-01
  • 2011-01-15
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 2014-10-15
相关资源
最近更新 更多