如何在 hammer.js 中按 class 名称 select 元素?

How to select elements by class name in hammer.js?

我正在尝试使用 hammer.js 和 select 元素,使用它们的 class 名称而不是它们的 ID。

但是,我的代码似乎只 select 具有 class 名称的第一个元素,而忽略其余具有相同 class 名称的元素。

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

这是一个工作 fiddle:

jsfiddle.net/cku6xap9/

如果您在第一个元素上向左滑动,您会看到一个未定义的警告,但是当您在其他元素上向左滑动时,没有任何反应。

有人可以就此问题提出建议吗?

提前致谢。

您有一些错误:

  • 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)
    });
});