判断手机和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;

}

}

时间: 2024-10-21 19:26:57

判断手机和pc端的不同,事件也不同的相关文章

判断当前终端是手机还是pc端并进行不同的页面跳转

判断当前设备(终端)是手机还是pc端并进行不同的页面跳转 DEMO 1 <script type="text/javascript"> function browserRedirect() { var sUserAgent= navigator.userAgent.toLowerCase(); var bIsIpad= sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs= sUserAgent.mat

用ThinkPHP3.2.2框架做手机和PC端浏览器的切换

ThinkPHP搭建手机版网站: http://www.php100.com/html/php/lei/2013/0904/1699.html 这篇文章(肯定不是基3.2.2讲的)是在框架入口通过判断手机还是PC访问来决定app的路径,这样,我手机web和pc就不能共用MVC三层了. -----------------------------------------------------------------------------------------------------------

判断浏览器是pc端和移动

/** * 判断浏览器是pc端和移动端,并跳转到不同页面 */ function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bI

php或js判断网站访问者来自手机或者pc端源码

很多时候也可以通过逻辑程序来进行判断,如PHP.JS是常用的两种识别访问设备类型的常用方法. 原理都是采用识别访问客户端的HTTP_USER_AGENT,然后进行关键字匹配进行确定设备类型,对于伪造HTTP头的就区分不出来了. 区分设备类型然后要做的就是能够针对不同设置显示出易于阅读的网页,具体可以研究响应式布局技术. 本文主要介绍如何通过php或js来识别终端类型. <?php class IsMobile { public static function isMobile() { $user

我的Android进阶之旅------&gt;Android实现用Android手机控制PC端的关机和重启的功能(一)PC服务器端

因为经常开着笔记本工作,累了就坐床上玩手机,但晚上要睡觉了又不想下床去关电脑,就想做个Android软件来控制PC端的关机和重启.要想实现此功能,就得让Android手机和PC之间进行通信才能,因此采用Socket编程来实现. ==================================Shutdown命令的用法======================================== 首先得了解一下关于Shutdown命令的用法. 选择win+R,打开命令行窗口,输入shutdo

PHP判断访问者是PC端还是移动端

function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap

java端判断请求来自pc端还是手机端

记录是为了更好的成长! 在项目中遇到一个问题,需要判断请求是来自pc端还是手机端,如下直接贴代码: /** * 判断请求来自手机端还是电脑端 */ public static boolean isMobileDevice(String requestHeader) { /* * android :所有安卓设备 * mas os :iphone * windows phone :windows系统手机 */ String[] deviceArray = new String[] {"android

判断浏览器是pc端还是移动端

var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, /

我的Android进阶之旅------&amp;gt;Android实现用Android手机控制PC端的关机和重新启动的功能(二)Androidclient功能展示

Androidclient的实现思路大致例如以下: 1.首先扫描局域网内全部PC,看是否有PC端的server在执行并监听30000port. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center"> 2.假设没有扫描到有PC端的server在执行并监听30000port.则又一次扫描或者退出. 3.扫描到了有