【问题标题】:Unable to initialization of fastclick plugin无法初始化 fastclick 插件
【发布时间】:2013-06-02 03:19:04
【问题描述】:

在初始化 fastclick 插件时遇到问题

  1. 我试图用class 初始化fastclick plugin 但它给了我错误 如果我将它用于单个element,它工作正常,但如果我希望它用于多个elements它通过error

对于单个element我使用了这个方法

document.addEventListener('DOMContentLoaded', function () {
   var fastClickButton = document.querySelector('.parent');
   new FastClick(fastClickButton);
});

对于具有相同class 的多个element

document.addEventListener('DOMContentLoaded', function () {
   var fastClickButton = document.querySelectorAll('.parent');
   new FastClick(fastClickButton);
});

在这种方法中,我无法理解如何解决这个问题

我无法理解如何实现它

2。第二个问题是这个

我在这个插件 git 页面上找到的以下代码 url

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

但是当我通过错误使用它时,FastClick.attach 不是函数

也是这样迷茫

请帮我解决这个问题,谢谢

【问题讨论】:

  • document.querySelectorAll() 返回一个集合,您需要将其作为数组进行迭代。
  • 是的,你说得对,但我如何从数组@Barmar 初始化它
  • 我试过了,但它不起作用如果你展示一个例子会更好@Barmar

标签: javascript jquery performance click fastclick.js


【解决方案1】:

我不熟悉这个插件。但是假设您的单元素代码有效,我认为这应该适用于多个元素:

$(function() {
    var buttons = document.querySelectorAll('.parent');
    for (i = 0; i < buttons.length; i++) {
        new FastClick(buttons[i]);
    }
});

【讨论】:

  • 已修复。我错误地粘贴了 QuerySelector 而不是 querySelectorAll。
  • 是的,它现在由querySelectorAll 工作,其他替代是$('.parent') 谢谢
【解决方案2】:

推荐的使用方法是在加载事件处理程序内的body 上实例化FastClick:

window.addEventListener('load', function() {
    new FastClick(document.body);
}, false);

【讨论】:

    猜你喜欢
    • 2013-08-01
    • 1970-01-01
    • 2017-06-10
    • 2017-06-16
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多