WebAPI之指针事件

指针事件

以前web端的指针设备为鼠标,现在新兴设备越来越多,触摸屏、手写笔等。再使用鼠标事件已经不满足这些设备事件模型。

指针事件-Pointer Events 是一类可以为指针设备所触发的DOM事件。它是一个统一的DOM事件模型。这些事件需要处理通用指针输入。

指针-指一个可以明确指向屏幕上某一组坐标的硬件设备。

PointerEvent接口继承了MouseEvent中的所有属性和方法。

事件类型

需要注意,多数情况下指针事件与鼠标事件都会发送了。如果使用指针事件应该使用过event.preventDefault()来避免发送鼠标事件。

  • pointerover 当指针移动到元素的命中测试边间时触发的事件。
  • pointerenter 当指针移动到元素或其后代的命中检测边界时触发。不冒泡
  • pointerdown 当指针处于活跃状态时触发。对于鼠标就是从没有按钮到有一个按钮点击时触发。
  • pointermove 指针改变坐标时触发。
  • pointerup 指针不再活跃时触发
  • pointercancel  浏览器认为指针不能够再发生事件,会触发此事件。测试时 div滚动到边界触发了此事件
  • pointerout 指针移出元素命中检测边界。不支持悬停的指针设备发生事件。pointercancel事件发生后。触控笔离开悬停范围
  • pointerleave 指针移出元素命中检测边界
  • gotpointercapture 当元素收到指针捕获会触发此事件。
  • lostpointercapture 释放指针捕获时触发此事件

PointerEvent接口

PointerEvent接口代表了由指针引发的DOM事件的状态。

属性

  • pointerId RO number 触发事件的pointer的唯一标识符。是惟一的,不同于其他所有获取的指针事件的标识符。该值是随机生成的,没有任何特定意义。
  • width RO number 指针在x轴的接触几何图形的宽度。比如我们用手指肚触摸屏幕会形成一个触摸面,这个触摸面的宽度 CSS像素宽度
  • height RO number 指针在x轴的接触几何图形的高度。比如我们用手指肚触摸屏幕会形成一个触摸面,这个触摸面的高度 CSS像素高度
  • pressure RO float 压力范围 0 到1  不支持压力的设备 活跃状态 是0.5  否则是0
  • tangentialPressure RO float [-1,1]
  • tiltX RO  由输入设备与Y轴构成的平面和Y-Z平面之间的夹角 [-90,90]
  • tiltY RO  由输入设备与X轴构成的平面和X-Z平面之间的夹角 [-90,90]
  • twist RO 输入设备围绕自身主轴顺势针旋转的角度。[0,359]
  • pointerType RO 表示触发事件的设备类型,测试时有touch、mouse 没有触控笔
  • isPrimary RO 标识一个指针是否是当前设备类型的主指针pointer。true。在多点触控的触摸屏上很有用,因为只有主指针才能兼容鼠标事件,而且如果只希望进行单指针操作时可以将其他的过滤掉。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

英杰丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值