Объект hammer.js не имеет метода 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. Что мне делать?
Ответы
Ответ 1
Я предполагаю, что ваша проблема в том, что у вас нет Hammer.js jQuery Plugin (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(...)
Ответ 2
Если вы используете jQuery, вы должны использовать версию jQuery Hammer и использовать ее так:
var resim = $("#kaydir");
resim.hammer().on("swipeleft", function(ev) {
console.log('left: ', ev);
});