【发布时间】:2016-06-29 14:00:01
【问题描述】:
我正在尝试将 press 添加到 jQuery 选择器。我在同一个文档上有很多元素,所以我不能为每个元素使用 ID。我试过$(selector)[i],就像解释的那样here。
var selectProduct = $('.mh60 a');
for (var i = 0; i < selectProduct.length; i++) {
Hammer(selectProduct[i]).on("press", function() {
$(selectProduct[i]).addClass('active');
});
}
它没有产生任何错误,也没有工作。我没有得到我在这里缺少的东西。
当我尝试通过console.log(selectProduct[i]); 记录selectProduct[i] 时,它会给出undefined 结果。
更新 1
当我删除 for 循环并只使用 selectProduct[0] , selectProduct[1] ,...它正在工作,但使用 selectProduct[i] ,它不起作用,所以我认为问题出在 for 循环上。但我没听懂。
更新 2
我也试过jQuery plugin,同样的问题
更新 3
我再次尝试each(),同样的问题。它打印控制台消息,但 addClass() 不起作用。我猜问题出在this 函数没有返回当前元素。
$('.mh60 a').each(function(){
var mc = new Hammer(this);
mc.on("press", function() {
console.log('Double tap!');
$(this).addClass('active');
});
});
【问题讨论】:
标签: javascript jquery hammer.js