浏览器 Pointer Events
前言
Pointer Events是一套触控输入处理规格,支持Pointer Events的浏览器包括了IE和Firefox,最近Chrome也宣布即将支持该处理规则。
PointerEvent
PointEvent对象继承自MouseEvent,使用上也比较类似。
- mousedown -> pointerdown
- mouseenter -> pointerenter
- mouseleave -> pointerleave
- mousemove -> pointermove
- mouseout -> pointerout
- mouseover -> pointerover
- mouseup -> pointerup
PointerEvent提供了多有预期的鼠标事件属性,并添加了通用的附加属性,来帮助您区分输入类型和特点。
- height
- isPrimary
- pointerId
- pointerType
- pressure
- tiltX
- tiltY
- width
在现在的JS编码中,推荐使用特性检测(以前是浏览器检测)来编写代码,我们可以用以下代码检测浏览器是否支持该特性:
if (window.PointerEvent) {
// Pointer events are supported.
}
那接下来看一下具体的事件代码:
window.addEventListener('pointerdown', pointerdownHandler, false);
function pointerdownHandler (evt) {
console.log(evt)
}
通过输出,可以更直观的看到PointerEvent的各个属性。
通过浏览器的navigator对象的maxTouthPoints,可以拿到当前设备支持的最大多点触控的数量:
navigator.maxTouchPoints
从win8开始,IE提供了默认的触摸事件处理,如果想全部由js代码控制触摸事件,那么可以使用:
touch-action: none;
来禁用默认值。
参考资料
https://msdn.microsoft.com/en-us/library/ie/dn433244(v=vs.85).aspx
http://www.w3.org/TR/pointerevents/
浏览器 Pointer Events的更多相关文章
- 浏览器的统一指针事件:Pointer Event
在早期的浏览器,输入的事件其实相对单纯,只有考虑到鼠标和键盘两种:而当时的鼠标事件,其实就是 click.mousedown.mouseup 等等的事件.但是当手机.平板开始流行时候,再移动装置上的主 ...
- javascript code snippet -- Forwarding Mouse Events Through Layers
Anyone who has worked with web apps has likely created a masking element at some point, and the grea ...
- ExtJS笔记 Using Events
Using Events The Components and Classes of Ext JS fire a broad range of events at various points in ...
- touch pointer
在早期的浏览器,输入的事件其实相对单纯,只有考虑到鼠标和键盘两种:而当时的鼠标事件,其实就是 click.mousedown.mouseup 等等的事件.但是当手机.平板开始流行时候,再移动装置上的主 ...
- jquery触屏幻灯片
一.前言 去年接触了移动Web开发,做了些手机端的网站及应用,还有些小的微信游戏和活动页面.每个项目里或多或少的都会有一些触屏事件等.其中有两个用到了jquery触屏幻灯片.刚开始的时候也在百度上搜索 ...
- 【转】谈谈Google Polymer以及Web UI框架的未来
原文转自:http://www.csdn.net/article/2013-05-27/2815450-google-polymer 摘要:开发者Axel Rauschmayer在自己的博客上详解了G ...
- Google Polymer以及Web UI框架
时代在进步,原本前端只是用来简单的数据显示以及提交数据到后端处理逻辑的地方,而随着SPA的发展,前端的逻辑也越来越是庞大,恰巧,今天看微博的时候,发现一个概念讨论的比较多,就是 Web Compone ...
- VNC常用操作及常见问题解决办法汇总
VNC登录用户缺省是root,但在安装oracle时必须用oracle用户的身份登录,下面我们就以oracle为例说明如何配置VNC,从而可以使用不同的用户登录到主机.步骤描述如下: 步骤一:修 ...
- 【JavaScript】谈谈Google Polymer以及Web UI框架的未来
摘要:开发者Axel Rauschmayer在自己的博客上详解了Google Polymer的设计理念与组成架构,深得Polymer开发者的认同.他认为Polymer这样高互操作性的设计才应该是Web ...
随机推荐
- PowerManager和WakeLock的操作步骤
① PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);通过 Context.getSystemServ ...
- bzoj 2295: 【POJ Challenge】我爱你啊
2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec Memory Limit: 128 MB Description ftiasch是个十分受女生欢迎的同学,所以 ...
- Linux下面使用rpm命令
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...
- samba4.1.9安装
./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --with-piddir=/run/samba \ ...
- Adobe Illustrator里使用fontawesome矢量图标
简单教程:1.安装FontAwesome.otf字体2.打开http://fontawesome.io/cheatsheet/3.选中图标图片,ctrl+c4.粘贴到AI中5.选中粘贴的内容,修改字 ...
- http协议读书笔记3-Web服务器
一.web服务器的实现 web服务器逻辑实现了HTTP协议和相关的TCP连接处理,管理着web资源,并负责提供Web服务器的管理功能.web服务器逻辑和操作系统共同负责管理TCP连接.底层操作系统负责 ...
- Oracle 12c
Common User vs. Local User – 12c Edition http://dbasolved.com/2013/06/29/common-user-vs-local-user-1 ...
- 记录javascript 验证字符串布尔类型 及url 参数获取
/^true$/i.test("false");false/^true$/i.test("true");true //获取请求参数的值 function Req ...
- CSS3实现旋转的太极图(二):只用1个DIV
效果预览: PS: 1.昨天用3个DIV实现了太极图(点击查看),,今天试着用1个Div来做. 2.公司刚忙过双10周年庆,最近空闲下来,闲着也是闲着,总得写点东西吧. 3.高手莫喷,小弟仅仅是没 ...
- android开发(49) android 使用 CollapsingToolbarLayout ,可折叠的顶部导航栏
概述 在很app上都见过 可折叠的顶部导航栏效果.google support v7 提供了 CollapsingToolbarLayout 可以实现这个效果.效果图如下: 实现步骤 1. 写 ...