触摸屏设备事件

1.方向事件

< body onorientationchange = "rotateDisplay();" >

window.orientation可以判断设备的方向

ipad: 90 或 -90 横屏
ipad: 0 或180 竖屏
Andriod:0 或180 横屏
Andriod: 90 或 -90 竖屏

function orient(){
    if (window.orientation == 90 || window.orientation == -90){
        //ipad、iphone竖屏;Andriod横屏
        $("body").attr("class", "landscape");
        orientation = 'landscape';
        return false;
    }else if (window.orientation == 0 || window.orientation == 180){
        //ipad、iphone横屏;Andriod竖屏
        $("body").attr("class", "portrait");
        orientation = 'portrait';
        return false;
    }
}
//页面加载时调用
$(function (){
    orient();
});
//用户变化屏幕方向时调用
$(window).bind('orientationchange', function (e){
    orient();
});

2.手势事件
gesturestart:当一个手指已经按在屏幕上,而另一个手指又触摸在屏幕时触发。
gesturechange:当触摸屏幕的任何一个手指的位置发生变化时触发。
gestureend:当任何一个手指从屏幕上面移开时触发。
【注意】只有两个手指都触摸到事件的接收容器时才触发这些手势事件。

3.触摸事件
该类事件会在用户手指放在屏幕上面时,在屏幕上滑动时,或从屏幕上移开时触发。具体来说有以下几个触摸事件。
touchstart:当手指放在屏幕上触发。
touchmove:当手指在屏幕上滑动时,连续地触发。
touchend:当手指从屏幕上离开时触发。
touchcancel:当系统停止跟踪时触发,系统什么时候取消,文档没有明确的说明。
【总】以上四个,是w3c提供的触摸事件,只针对触摸设备,最常用的是前三个。
由于触摸会导致屏幕动来动去,所以可以在这些事件的事件处理函数内使用event.preventDefault(),来阻止屏幕的默认滚动。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 13.1 事件流 “DOM2级事件”规定事件流包括3个阶段:事件捕获阶段,处于目标阶段,事件冒泡阶段。事件捕获表示...
    Elevens_regret阅读 3,335评论 0 0
  • 事件流 IE和Netscape开发团队提出了完全相反的两种事件流的概念,事件冒泡流和事件捕获流。 事件冒泡 事件由...
    exialym阅读 4,547评论 0 9
  • 好奇触摸事件是如何从屏幕转移到APP内的?困惑于Cell怎么突然不能点击了?纠结于如何实现这个奇葩响应需求?亦或是...
    Lotheve阅读 58,933评论 51 604
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 11,306评论 4 26
  • 她说 如果是真的 真的让你有什么感触 也未必这样 一定会试着去做 任何时候都不敢做的事 保持原则 时常带点惊喜回来...
    曹林杰阅读 1,430评论 0 0