モバイルで「長押し」を実装するために、時間を設定し、別touchstart
の時間をtouchend
設定し、差を計算して要素が押された時間を確認する単純なイベント マップから始めました。これは私の古いコードでした:
$('html')
.on({
touchstart : function(e){
g.tt.start = new Date();
},
touchend : function(e){
g.tt.end = new Date();
g.tt.delta = g.tt.end - g.tt.start;
alert(g.tt.delta);
g.tt = {};
}
})
;
しかし残念ながら...
...他のすべてのプレスは、前のタッチエンドからタッチスタートまでの差を計算し続けました。欠けている基本的なものがあると確信しているため、これを過剰に設計することになります(正式なトレーニングはありません)。ここに私の新しいコードがあります:
$('html')
.on({
touchstart : function(e){
g.tt = {};
g.tt.start = new Date();
},
touchend : function(e){
g.tt.end = new Date();
g.tt.delta = g.tt.end - g.tt.start;
if( isNaN(g.tt.delta) == false ) {
alert(g.tt.delta);
}
else {
return false;
}
setTimeout(function(){g.tt = {}; });
}
})
;
より少ない句でこれを行うためのはるかに簡単な方法があるはずではありませんか? g.tt
私の変な変数名は気にしないでください。