Hammer.js不起作用

时间:2014-10-10 17:59:56

标签: javascript jquery hammer.js

我正在使用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。这会导致问题吗?

1 个答案:

答案 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/