判斷手機和pc端的不同,事件也不同,判斷pc端事件

來源:互聯網
上載者:User

判斷手機和pc端的不同,事件也不同,判斷pc端事件
判斷是否為手機:
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;   }  }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.