如何在Hammer.js中按类名选择元素?

时间:2019-05-24 10:32:24

标签: javascript jquery hammer.js

我正在尝试使用Hammer.js并使用其类名而不是其ID选择元素。

但是,我的代码似乎只选择了具有类名的第一个元素,而忽略了具有相同类名的其余元素。

它也没有得到$(this).attr('id);由于某些原因!

这是一个工作的小提琴:

jsfiddle.net/cku6xap9 /

如果在第一个元素上向左滑动,则会看到未定义的警报,但是在其他元素上向左滑动时,则不会发生任何事情。

有人可以请教这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

您有一些错误:

  • document.querySelector仅选择一个元素。请改用document.querySelectorAll

  • 您正在全局声明hammer,而不是为每个元素使用一个实例

  • $(this).attr('id');中,this是Hammer的上下文,而不是HTML元素

尝试一下:

$('.box').each(function(){
    var mc = new Hammer(this);
    mc.on("swipeleft", function(e) {
       var id = e.target.id;
       alert(id)
    });
});