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 ...
随机推荐
- vue学习的笔记补充
// vue-router中可以使用 routes:[ { path:'/', name:'index', component:()=>import('./index') } ] // 这种写法 ...
- 自己用习惯的idea快捷键笔记
Ctrl + Space 自动完成(win10下冲突不能用,自己换成 Alt + \ ) 切换方法是菜单中依次打开 file -> settings -> keymap,搜索complet ...
- 2 Interrupting Appropriately
1 Interrupting someone politely e.g. Excuse me for interrupting, but may I ask a question? Sure. Of ...
- jenkins配置SSH远程服务器连接
之前用jenkins做了一个自动发布测试,配置任务的Post Steps时,选择的是执行shell命令.如下图: 这是在本192.168.26.233服务器上测试的,此服务器上运行jenkins,to ...
- NIO服务器与客户端
这里客户端没有采用NIO形式 服务器: package com.util.Server.NIO; import javax.print.DocFlavor;import java.io.IOExcep ...
- Linux基础学习(16)--备份与恢复
第十六章——备份与恢复 一.备份概述 1.Linux系统需要备份的数据: 2.备份策略: 二.dump和restore命令 1.dump命令: 2.restore命令:
- linux ps命令用法
-A 列出所有的进程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯-aux 显示所有包含其他使用者的行程 -A 显示所有进程(等价于-e)(utility)-a 显示 ...
- Python 常用模块总结
模块的分类: 1.内置模块(python自带的比如像os,sys等模块) 2.自定义模块,自己写的一些模块 3.第三方模块(开源模块) 模块导入: 1.import sys ...
- freemarker 设置中文
在web中添加一段代码 <servlet> <servlet-name>freemarker</servlet-name> <servlet-class> ...
- 【理论】X理论、Y理论及Z理论
道格拉斯·麦格雷戈(Douglas Mcgregor)把对人的基本假设作了区分,即X理论和Y理论.X理论认为:人们总是尽可能地逃避工作,不愿意承担责任,因此要想有效地进行管理,实现组织的目标,就必 ...