2016/02/19

[jQuery]長押し判定

スマホでJavaScript or jQueryを使って長押し判定する方法はあるのだろうか?

【JavaScript】スマホのタッチの長押しイベント取得
を参考にすると以下のロジックでいけるみたい。

var isLongTap = false;
var timerid;
var $div = $('div');
$div.on('touchstart',function(){
  timerid = setTimeout(function() {
    isLongTap = true;
  },750);
});
$div.on('touchmove ',function(){
  if(isLongTap){

  }else{

  }
});
$div.on('touchend touchcancel',function(){
  clearTimeout(timerid);
  if(isLongTap){

  }else{
  
  }
});
750ms後にキックされる関数内でフラグをtrueにして、長押し(ロングタップ)の判定をしています。

意外と役に立ちそうなので、もっと汎用性をもった作りにできたらなと。

0 コメント:

コメントを投稿