Я хочу использовать hammer.js для захвата мобильных сенсорных входов. Поскольку некоторые элементы (например, некоторые "li") динамически генерируются, я хочу привязать объект молота к самому документу и использовать селектор для захвата событий.
var hammer=Hammer(document.body);
hammer.on("release",'.touchzone',function(ev){
alert(ev.gesture);
});
Вышеприведенный код не работает - предупреждение отсутствует, и функция не вводится. Однако я непосредственно привязал объект молота к элементу div.touchzone.
var hammer=Hammer($('.touchzone')[0]);
hammer.on("release", function(ev){alert(ev.gesture);});
Я использую jQuery 1.11.0 и v1.0.9 hammer.min.js (размером ~ 13kb).
Какая может быть возможная причина?
Вероятно, потому что $('.touchzone')[0]
возвращает собственный объект DOM, а не объект jQuery.
Чтобы применить jQuery вместе с Hammer, вы можете использовать плагин jQuery Hammer.
Включите его после jQuery, тогда вы можете сделать:
$(document.body).hammer().on('release', '.touchzone', function(ev){
alert(ev.gesture);
});