我正在尝试一些疯狂的事情,我想实现一个 Instagram 功能:点按两次即可点赞。
所以,我正在使用最新版本的 jQuery 和 Hammer.js。我不是高级专业人士,但我尝试编写 JavaScript 代码来识别哪个事件。
var postDoubleTapped;
postDoubleTapped = false;
Hammer($('.post').get(0)).on('doubletap', function(event) {
event.preventDefault();
postDoubleTapped = true;
console.log('Double tap!');
return false;
});
$(document).on('click', '.post a', function(event) {
event.preventDefault();
console.log(postDoubleTapped);
setTimeout((function(_this) {
return function() {
if (!postDoubleTapped) {
location.href = $(_this).attr('href');
}
postDoubleTapped = false;
};
})(this), 500);
return false;
});
正如您在示例( http://codepen.io/caio/pen/vqEjc )中看到的那样,它不起作用。控制台返回:
还有另一个问题,我无法在 a
标记上重现 _blank
目标。
这是更好的方法吗?我走的路正确吗?我该如何修复它?
最佳答案
您的方法是正确的,但双击就像单击两次一样。所以你在这两种情况下都使用锤子,如下所示:
var i=0;
Hammer($('.post').get(0)).on('doubletap', function(event) {
i++;
console.log( 'double tap' + i );
});
$(".post a").hammer();
$(".post a").on('tap', function (event) {
i++;
console.log( 'single tap' + i );
});
关于jquery - 双击并单击冲突(jQuery 和 Hammer.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23332811/