移动端触屏事件

什么是触屏事件?移动端的触摸产生的一系列行为;

在移动端,原生触摸事件只有以下三种类型,其他所有的触摸事件都是由这三种事件相结合产生的,例如,上划、下滑、左滑、右滑、双击等等;

这三种原生触摸事件为:

touchstart(开始触摸);

touchmove(触摸过程中);

touchend(触摸结束);

另外,还有一个触摸被系统取消的事件:touchcancel(由更高级的事件打断当前正在执行的移动端事件时,会触发该事件,我们可以在这个事件中保存当前相关的触碰事件操作的数据,以保证用户回到页面后接着刚才断开的位置继续操作);

这里需要注意的是:移动端只能使用addEventListener方式添加事件。

原生触摸事件示例

下面介绍一下触摸事件下的一些相关属性

div.addEventListener('touchstart',function(e){

var touch = e.targetTouches[0];

console.log(touch);

});

targetTouches:可获取到事件对象下的触摸点,该属性是一个类数组的结构,同时触发这个事件的手指有几个,则数组中就有几个元素。触摸点的相关坐标数据就存在这些对象中。

pageX\pageY:坐标系原点在页面的左上角;

screenX\screenY:坐标系的原点在屏幕的左上角点(不包含操作系统在左上角的组件);

clientX\clientY:触摸目标在视口中的坐标,原点在视口左上角(适口视用来展示html代码的容器);

targer:保存的是触发事件的标签,使用事件委托时可以通过该属性获取到触发该事件的标签对象;

identifier:ID值,唯一标示了手指触摸点,如果手指在屏幕上产生移动(如果有多个触摸点,则可以根据这个id值跟踪对应的触摸点);

下面我们结合原生的触摸事件,来实现,判断触摸是向左还是向右:

左滑打印“左”,右滑打印“右”,并且每次滑动都会打印出“触摸开始”和“触摸结束”

其实在实际开发过程中,我们大多使用第三方类库来实现移动端触屏事件,使用起来快捷方便,大大提高了开发效率;通常使用zepot模块的touch.js,自认为zepot模块是一个非常强大,且功能齐全的第三方类库,Zepto是一个轻量级的针对现代高级浏览器的JavaScript库,它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。下面提供一个连接,大家可以学习学习,需要注意的是,要想使用zipto的touch类库,要单独对touch进行下载:

网站连接:www.css88.com/doc/zeptojs_api/


移动端触摸事件介绍到这里,如果对您有所帮助的话,请点赞并关注哦,我会不定时的更新一下自己学习的经验以及见解,和大家进行交流。

您赞就是是我最大的动力!!!

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

推荐阅读更多精彩内容

  • 之前写过一篇浏览器事件的相关操作和事件运行的原理——JavaScript浏览器事件解析。这一篇主要写一些常用的事件...
    faremax阅读 5,563评论 0 0
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,196评论 4 61
  • 有时候感觉,你们离我很近,就一个转身的距离,有时候感觉你们离我很远,像隔了一个星球,我只想牵着你们的手,与你们肩...
    清风景行阅读 2,271评论 0 0
  • 校验工具类 最近总结了一下在iOS开发中用到校验工具类,包含[网址验证]、[邮箱验证]、[身份证验证]、[手机号 ...
    Anticipate_91阅读 3,214评论 0 5