2013-06-06 15 views
0

我在初始化fastclick插件无法fastclick插件

  1. 我试图初始化fastclick pluginclass有问题的初始化,但它给了我错误 如果我用这个单个element它工作正常,但如果我也想多elements它通过error

单个element我用这个方法

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

多个element具有相同class

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

在这个方法中,我无法理解我怎么能解决这个问题,从我的理解这个插件从variable初始化,在这种情况下,这将随机选择只有一个元素其中有一个class

我不明白我怎么能实现呢

2.第二问题是这样的

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

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

但是当我使用这一点,通过错误FastClick.attach不是一个函数

也很困惑以这种方式

请帮我解决这个感谢

+0

'文件.querySelectorAll()'返回一个集合,你需要以数组的形式迭代它。 – Barmar

+0

是你的权利,但我怎么能初始化它从一个数组@Barmar –

+0

使用'for'循环。 – Barmar

回答

3

我不熟悉的 插入。不过,假设你的一个元素代码的作品,我想这应该多个元素的工作:

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

我试过了,但buttons.length在undefined :-( –

+0

修正了它,我错误地粘贴了QuerySelector而不是querySelectorAll。 – Barmar

+0

yup它现在的工作是'querySelectorAll'和其他备用是'$('。parent')'谢谢 –

0

使用的推荐方法是实例FastClick在body负载事件处理中:

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