我正在使用Hammer.js,我已经包含了Hammer和Hammer JQuery插件,如下所示:
<script src='res/stat/js/hammer.js'></script>
<script src='res/stat/js/jquery.hammer.js'></script>
现在,使用此代码我正试图双击工作:
<script>
var element = document.getElementsByClassName('snap_item');
var hammertime = Hammer(element).on("doubletap", function(event) {
alert('hello!');
});
</script>
类名为“snap_item”的元素存在且拼写正确。 Hammer.js和JQ插件的路径也是正确的。我已经在iPhone 5S上进行了测试,当我双击元素时它没有做任何事情。
有谁知道这里出了什么问题?我也包含了JQuery V2。这会导致问题吗?
答案 0 :(得分:2)
document.getElementsByClassName
返回一个元素数组。 Hammer构造函数只能使用一个元素。自己初始化每个:
var elements = document.getElementsByClassName('snap_item');
[].slice.call(elements).forEach(function(element) {
var hammertime = new Hammer(element);
hammertime.on('doubletap', function(event) {
alert('hello!');
});
});
JSFiddle演示:http://jsfiddle.net/nw6dvgck/