我正在尝试一些疯狂的东西,我想实现一个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;
});
Run Code Online (Sandbox Code Playgroud)
正如您在示例(http://codepen.io/caio/pen/vqEjc)上看到的那样,它不起作用.控制台返回:
还有一个问题,我无法_blank
在a
标签上重现目标.
这是更好的方法吗?我是正确的吗?我该如何解决?
您的方法是正确的,但双击就像单击两次一样。所以你在这两种情况下都使用锤子,如下所示:
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 );
});
Run Code Online (Sandbox Code Playgroud)