首页 > 移动平台 > 详细

判断手机和pc端的不同,事件也不同

时间:2015-01-04 17:20:12      阅读:216      评论:0      收藏:0      [点我收藏+]
判断是否为手机:

function isMobile(){
   var sUserAgent= navigator.userAgent.toLowerCase(),
   bIsIpad= sUserAgent.match(/ipad/i) == "ipad",
   bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os",
   bIsMidp= sUserAgent.match(/midp/i) == "midp",
   bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4",
   bIsUc= sUserAgent.match(/ucweb/i) == "ucweb",
   bIsAndroid= sUserAgent.match(/android/i) == "android",
   bIsCE= sUserAgent.match(/windows ce/i) == "windows ce",
   bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile",
   bIsWebview = sUserAgent.match(/webview/i) == "webview";
   return (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM);
  }


判断使用那种事件:
var touchStart,touchMove,touchEnd;
  touchStart = isMobile() ? ‘touchstart‘ : ‘mousedown‘;
  touchMove = isMobile() ? ‘touchmove‘ : ‘mousemove‘;
  touchEnd = isMobile() ? ‘touchend‘ : ‘mouseup‘;


三种事件的相应处理:
touchstart:function(e){
    var e=e || window.event;    //要判断使用哪种event
    stopDefault(e);                    //不同的浏览器,阻止浏览器默认事件方法不同
   
    if(isMobile()){                    //如果是手机
     var touch=e.touches[0];
     this.y1=touch.pageY
    }else{
     this.y1=e.pageY;            //如果不是手机
    }
    this.y2=0;
   },
   touchmove:function(e){
    var e=e || window.event;
    stopDefault(e);
    if(isMobile()){
     var touch=e.touches[0];
     this.y2=touch.pageY;
    }else{
     this.y2=e.pageY;
    }
   },

   touchend:function(e){
    var e=e || window.event;
    stopDefault(e);
    if(this.y2==0){
     return;
    }
    var diffY=this.y2-this.y1;
    if(diffY>50){
     this.doNext();
    }else if(diffY<-50){
     this.doPrev();
    }
    this.y1=0,
    this.y2=0;
   },

阻止浏览器默认事件方法:
function stopDefault(e){
      var e=e || window.event;
   if(e.preventDefault){
    e.preventDefault();
   }else{
    e.returnValue=false;
   }
  }

判断手机和pc端的不同,事件也不同

原文:http://blog.csdn.net/wuweitiandian/article/details/42392565

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!