点击iOS WebApp之间的300毫秒延迟

时间:2017-03-09 22:21:10

标签: javascript html5 mobile-safari fastclick.js fastclick

我正在写一个游戏,所以它要求我每300毫秒点击几次。我已经有了fastclick.js并且它可以工作,但是我在300ms的时间内无法再点击一次。

例如,我会点击一次,然后立即做出反应,但如果我在300ms之前再次点击,则事件不会被触发。

快速点击:

//remove 300ms delay on mobile
  FastClick.attach(document.body);

我的活动:

//when the game is clicked
  window.onclick = function(e){
    if(e.x > window.innerWidth/2){
      move('right');
    } else {
      move('left');
    }
  }

1 个答案:

答案 0 :(得分:0)

我发现将fastclick.js用于此目的是一个问题。 fastclick.js触发onclick事件,但必须等待触发常规onclick事件才能停止它。

$('.punch')[0].ontouchend = function() {
  $('.console').append((Date.now() - time) + ' Tap<br>');
  tap = true;
}

然后我添加了一个点击事件。

$('.punch')[0].onclick = function() {
  if (!tap) {
    $('.console').append((Date.now() - time) + ' Click<br>');
    time = Date.now();
  }
}

JSFiddle:https://jsfiddle.net/jersh/L6z1d2ev/6/

Fastclick.js是没有重复点击的首选,并且仍然允许您使用手势。这不是。