如何在 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)
});
});
我正在尝试使用 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)
});
});