移动端Touch事件基础
1、三个常用的移动端事件
ontouchstart 手指按下时触发
ontouchmove 手指移动时触发
ontouchend 手动抬起时触发
注意:这些事件当作事件属性使用时,不兼容谷歌浏览器。
解决方案是,使用 addEventListener()来注册这些移动端事件。
2、pc端事件和移动端事件的区别
1)通过 on的方式添加touch事件,在谷歌浏览器下无效。
2)pc端的鼠标事件,用在移动端使用时,会产生300毫秒的延迟。
3、移动事件对象 TouchEvent
TouchEvent对象,是一个标准事件对象,它默认是事件处理程序的第一个参数。它描述了touch事件发生时的详细信息。
获取手指信息:
touches 当前屏幕上的手指列表
targetTouches 当前元素上的手指列表
changedTouches 触发当前事件的手指列表
获取手指的个数:
e.changedTouches.length
相关坐标的获取:
e.pageX / e.pageY 手指触屏时到网页顶部/左侧的距离。
e.clientX / e.clientY 手指触屏时到窗口上侧/左侧的距离。
obj.offsetLeft / obj.offsetTop 对象到定位父级的left/top值。
获取触屏时坐标:
e.changedTouches[0].pageX / e.changedTouches[0].pageY
三个手指对象的区别:
在touchend时获取手指列表,只能用 changedTouches。原因是当手指抬起时,touches和targetTouches就没有了,所以只能用changedTouches来获取手指列表。
(未完待续)
最新文章
- vue-lazy-render: 延迟渲染大组件,增强页面切换流畅度
- AspectJ基础学习之三HelloWorld(转载)
- Divide and Conquer:Cable Master(POJ 1064)
- oracle创建临时表没有权限
- Lucene学习笔记: 四,Lucene索引过程分析
- Yii Listview 更新及搜索
- C#数据类型-string
- 把调试好的SQL语句转换为JAVA代码小工具
- Qt5对Json的读写
- GDB错误:Cannot find bounds of current function
- [php] PHP创建指定目录和文件
- hbase总结(二)-hbase安装
- 2.3.2 InnoDB内存
- 使用 AcceptTcpClientAsync 进行 异步 操作
- week_one-python用户登录
- sql server 删除所有表、视图、存储过程
- Windows下GUI编程——窗口
- 实战BRTSvc一款我见过的最嚣张的挖矿软件
- bzoj 4689: Find the Outlier
- 第三次博客作业JSF