84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
双击页面的时候页面会弹一下,请问这个问题该怎么解决?
闭关修行中......
//解决ios双击页面上移问题 //在项目中测试不紧input/button这些表单控件有这个问题,p,p等也有问题,于是乎就直接在body开刀了 (function() { var agent = navigator.userAgent.toLowerCase(); //检测是否是ios var iLastTouch = null; //缓存上一次tap的时间 if (agent.indexOf('iphone') >= 0 || agent.indexOf('ipad') >= 0) { document.body.addEventListener('touchend', function(event) { var iNow = new Date() .getTime(); iLastTouch = iLastTouch || iNow + 1 /** 第一次时将iLastTouch设为当前时间+1 */ ; var delta = iNow - iLastTouch; if (delta < 500 && delta > 0) { event.preventDefault(); return false; } iLastTouch = iNow; }, false); } })(); //下面是国外coder给的解决方案 //http://appcropolis.com/blog/howto/implementing-doubletap-on-iphones-and-ipads (function($){ // Determine if we on iPhone or iPad var isiOS = false; var agent = navigator.userAgent.toLowerCase(); if(agent.indexOf('iphone') >= 0 || agent.indexOf('ipad') >= 0){ isiOS = true; } $.fn.doubletap = function(onDoubleTapCallback, onTapCallback, delay){ var eventName, action; delay = delay == null? 500 : delay; eventName = isiOS == true? 'touchend' : 'click'; $(this).bind(eventName, function(event){ var now = new Date().getTime(); var lastTouch = $(this).data('lastTouch') || now + 1 /** the first time this will make delta a negative number */; var delta = now - lastTouch; clearTimeout(action); if(delta<500 && delta>0){ if(onDoubleTapCallback != null && typeof onDoubleTapCallback == 'function'){ onDoubleTapCallback(event); } }else{ $(this).data('lastTouch', now); action = setTimeout(function(evt){ if(onTapCallback != null && typeof onTapCallback == 'function'){ onTapCallback(evt); } clearTimeout(action); // clear the timeout }, delay, [event]); } $(this).data('lastTouch', now); }); }; })(Zepto); //usage: $(selector).doubletap( /** doubletap-dblclick callback */ function(event){ alert('double-tap'); }, /** touch-click callback (touch) */ function(event){ alert('single-tap'); }, /** doubletap-dblclick delay (default is 500 ms) */ ); //下面是国外coder给的解决方案--end //解决ios双击网面上移问题--end
闭关修行中......