Heim >Web-Frontend >js-Tutorial >js bestimmt die Methode zur Auswahl verschiedener Ausführungsereignisse zwischen Mobiltelefon- und pc_javascript-Fähigkeiten
Das Beispiel in diesem Artikel beschreibt, wie js die verschiedenen vom Mobiltelefon und vom PC ausgewählten Ausführungsereignisse bestimmt. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Beurteilen Sie, ob es sich um ein Mobiltelefon handelt:
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); }
Bestimmen Sie, welches Ereignis verwendet werden soll:
var touchStart,touchMove,touchEnd; touchStart = isMobile() ? 'touchstart' : 'mousedown'; touchMove = isMobile() ? 'touchmove' : 'mousemove'; touchEnd = isMobile() ? 'touchend' : 'mouseup';
Korrespondierende Verarbeitung von drei Ereignissen:
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; },
Standardereignismethode des Browsers blockieren:
function stopDefault(e){ var e=e || window.event; if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; } }
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.