スマホで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 コメント:
コメントを投稿