js 触摸的Event--获取触摸位置
继上一篇js原生拖拽之后,现在又来写一下移动端touch列表,获取触摸位置。pc端的event事件,鼠标的位置信息在上一篇,点此进入上一篇。
touch有3个事件:touchstart,touchmove,touchend,移动端不能用click,这涉及到click的300ms的延迟问题。但是又没有原生的tap,所以zepto的touch库一直被用。。还有左滑,右滑屏幕,都是不错的。
例子和上一篇的一样:
<div id="drag"></div>
*{margin:;padding:}
#drag{
position: absolute;
top: 100px;
left: 200px;
width: 60px;height: 60px;
background-color: red;
}
接下来是它的event事件,只截了touch列表的部分:



每个事件都有的touches---touch列表,储存着触摸点的信息。
targetTouches---位于当前DOM元素上手指的列表。 所以都用event.targetTouches.length判断屏幕上手指个数。
changedTouches---涉及当前事件手指的列表。
而每个列表呢,都包含identifier---一个数值,唯一标识触摸会话(touch session)中的当前手指。一般为从0开始的流水号
target---该触发事件的元素
接下来就是我们的位置重头戏了:同样我点击的中间最上的位置。按理说应该是
clientX/Y:跟pc一样,据此页面的距离,相当于pc的鼠标坐标。这里是触摸点。相对于视口
screenX/Y:相对于屏幕的触摸点的位置。也是跟pc的同名属性一样。
pageX/Y:跟clientX/Y相似。相对于页面。按理说有滚动条的情况下,pageX是大于clientX的,但是chrome上面都是一样的,chrome PC版的没有问题。
还有
radiusX/radiusY/rotationAngle:画出大约相当于手指形状的椭圆形,分别为椭圆形的两个半径和旋转角度。
不经常用支持性也不好。
js 触摸的Event--获取触摸位置的更多相关文章
- js通过高德地图获取当前位置的经度纬度
效果图如下: 已经获取到了经度纬度了 代码如下: <!doctype html> <html> <head> <meta charset="utf- ...
- ios实例开发精品文章推荐(8.12)11个处理触摸事件和多点触摸的JS库
11个处理触摸事件和多点触摸的JS库 触摸屏是现在所有智能手机的标配,还包括各种平板设备,而且很多桌面也慢慢在开始支持触摸操作.要开发支持触摸屏设备的Web应用,我们需要借助浏览器的触摸事件来实现. ...
- JS获取鼠标位置,兼容IE FF
由于Firefox和IE等浏览器之间对js解释的方式不一样,firefox下面获取鼠标位置不能够直接使用clientX来获取.网上说的一般都是触发mousemove事件才行.我这里有两段代码,思路都一 ...
- js 如何在浏览器中获取当前位置的经纬度
这个有一定的误差哈,具体的误差是多少,有兴趣的朋友可以去测试下 直接上代码 index.html页面代码: <html> <head lang="en"> ...
- js获取光标位置
js获取光标位置 var TT = { /* * 获取光标位置 * @Method getCursorPosition * @param t element * @return number */ ...
- 【全面总结】js获取元素位置大小
[js获取元素位置+元素大小]全面总结 目录 1.关于offset offsetParent(只读) offsetTop(只读) offsetLeft(只读) offsetHeight(只读) off ...
- js获取元素位置和style的兼容性写法
今天说一下js获取元素位置和style的方法.当然不只是element.style那么简单.. 主角:getBoundingClientRect,getClientRects,getComputedS ...
- js如何获取鼠标位置
获取鼠标位置,首先需要加载js文件: 然后设置一个div,给定大小: 最后进行具体操作: //首先要先设置一个div,给定大小 <div id="m"></div ...
- js获取当前位置
<!DOCTYPE html><html><head><meta name="viewport" content="initia ...
随机推荐
- Error Boundaries 错误边界
错误边界是用于捕获其子组件树 JavaScript 异常,记录错误并展示一个回退的 UI 的 React 组件,而不是整个组件树的异常.错误边界在渲染期间.生命周期方法内.以及整个组件树构造函数内捕获 ...
- Spring的Bean配置
IOC和DI 网上概念很多,感兴趣可以去搜一搜,在这里我就给个比喻: IOC:以前我们买东西都要去商店买,用了IOC之后,我们只要在门口放个箱子, Spring就会给我相应商品,ಠᴗಠ 举个例子 cl ...
- hive条件过滤
where 过滤 %代表任意个字符,_代表一个字符; \\ 转移字符.\\_代表下划线
- ssl证书部署问题
问:我现在得到的ssl证书是.crt和.key两个在nginx环境下部署的证书,如果我们改用是tomcat,现在把这两个文件合成了.jks给tomcat使用,合成的时候输入的jks密码是不是就是部署在 ...
- 集合之LinkedHashMap(含JDK1.8源码分析)
一.前言 大多数的情况下,只要不涉及线程安全问题,map都可以使用hashMap,不过hashMap有一个问题,hashMap的迭代顺序不是hashMap的存储顺序,即hashMap中的元素是无序的. ...
- python设计模式第二十三天【状态模式】
1.应用场景 (1)通过改变对象的内部状态从而改变对象的行为,一般表现为状态的顺序执行 2.代码实现 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ from ...
- Code::Blocks debug程序
设置Settings--->Compiler, 打上勾: Produce debugging symbols [-g] 需要在settings->debugger settings-> ...
- Delphi调用MSSQL存储过程返回的多个数据集的方法
varaintf:_Recordset;RecordsAffected:OleVariant; begin ADOStoredProc1.Close;ADOStoredProc1.Open;aintf ...
- 插件 DataTable 创建列表 render参数的详解与如何传递本行数据id
1.首先 导入DataTable 的插件 2.定义表结构: HTML: <table> <thead> <tr> <th>id</th> & ...
- Java之指定Junit测试方法的执行顺序举例
问题描述: 大家都知道使用JUnit进行测试的时候,方法的执行顺序不是按照编写的先后顺序执行的,那么如何控制Junit的执行顺序呢? 解决方法: 在测试类上加 @FixMethodOrder 注解即可 ...