Vol*_*ike 8 jquery android tapandhold
我已经能够使用jQuery和HTML页面在Android上成功地使用touchstart,touchmove和touchend事件.现在我想看看诀窍是什么,以确定一个长敲击事件,其中一个点击并保持3秒.我似乎无法解决这个问题.我想在没有Sencha Touch,JQTouch,jQMobile等的jQuery中纯粹这样做.
我喜欢jQTouch的概念,虽然它并没有为我提供很多东西,但我的一些代码却打破了它.使用Sencha Touch,我不喜欢将jQuery转移到Ext.js以及一些新的Javascript抽象方式,特别是当jQuery非常强大时.所以,我想单独使用jQuery来解决这个问题.我已经能够使用jQuery自己做很多jQTouch和Sencha Touch的事情了.并且jQMobile仍处于测试阶段,尚未对Android进行足够的指导.
Ari*_*lam 11
定时器未使用但只会在用户松开长按后松开手指.
var startTime, endTime;
var gbMove = false;
window.addEventListener('touchstart',function(event) {
startTime = new Date().getTime();
gbMove = false;
},false);
window.addEventListener('touchmove',function(event) {
gbMove = true;
},false);
window.addEventListener('touchend',function(event) {
endTime = new Date().getTime();
if(!gbMove && (endTime-startTime)/1000 > 2)
alert('tap hold event');
},false);
Run Code Online (Sandbox Code Playgroud)
var gnStartTime = 0;
var gbMove = false;
var gbStillTouching = false;
function checkTapHold(nID) {
if ((!gbMove) && (gbStillTouching) && (gnStartTime == nID)) {
gnStartTime = 0;
gbMove = false;
alert('tap hold event');
}
}
window.addEventListener('touchstart',function(event) {
gbMove = false;
gbStillTouching = true;
gnStartTime = Number(new Date());
setTimeout('checkTapHold(' + gnStartTime + ');',2000);
},false);
window.addEventListener('touchmove',function(event) {
gbMove = true;
},false);
window.addEventListener('touchend',function(event) {
gbStillTouching = false;
},false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19035 次 |
| 最近记录: |