hammer.js 对象没有方法 addEventListener

hammer.js object has no method addEventListener

我收到错误:Uncaught TypeError: Object [object Object] has no method 'addEventListener' hammer.js:168

我的代码是这样的:

<script type="text/javascript" src="js/hammer.js"></script>

设备就绪功能:

 var resim = $('#kaydir');

 Hammer(resim).on('swipeleft', function(ev){
     console.log('left: ', ev);
 });

看来错误在hammer.js。我该怎么办?

如果您使用 jQuery,您应该使用 jQuery Hammer version 并像这样使用它:

var resim = $("#kaydir");
resim.hammer().on("swipeleft", function(ev) {
    console.log('left: ', ev);
});

我想你的问题是你没有 Hammer.js's jQuery Plugin installed (GitHub).

因此,您不能将 jQuery 对象传递给 Hammer() 函数,您的两个选择:

使用 jQuery 插件

将我上面链接的 jQuery 插件添加到您的项目中,然后调用:

$('#kaydir').Hammer(...)

没有 jQuery 插件

仅将元素传递到 Hammer() 而不是 jQuery 对象,使用 [0]:

Hammer(resim[0]).on(...)

或者改为更改您的 resim 变量以保存调用 JavaScript 的 getElementById.

的结果
var resim = document.getElementById('kaydir');
Hammer(resim).on(...)