Javascript 触摸事件:区分手指与 Apple Pencil
Javascript touch event: distinguishing finger vs. Apple Pencil
在Mobile Safari中,有没有办法区分触摸事件是由手指还是Apple Pencil生成的?
触摸事件的TouchList
对象包含有关触摸的各个点的详细信息。在众多属性中,touchType
可能是您最感兴趣的,因为它包含"stylus"
(Apple Pencil)或"direct"
(手指)。
var body = document.querySelector('body');
body.addEventListener('touchstart', function(evt){
// should be either "stylus" or "direct"
console.log(evt.touches[0].touchType);
});
您还应该查看每个单独触摸的其他属性,例如force
或azimuthAngle
,这些属性可以为您提供有关触摸点当前设备的详细信息。
请注意,触摸界面只是W3C工作的一部分。草案,还不是官方标准 - 但是适用于iOS 10 +Safari + Apple Pencil。
您可以通过以下方式检查触摸力:
e.touches[0].force;
但它也适用于iPhone 6s上的3DTouch。
只有 iPhone 6s 上的 Apple Pencil 事件和触摸事件具有 .force
编辑:
现在在iOs Safari上有touchType
:
e.touches[0].touchType === 'direct' // this is a finger
e.touches[0].touchType === 'stylus' // this is an Apple Pencil
相关文章:
- 用两个手指旋转谷歌地图javascript中的地图
- 如何从网站获得apple touch图标,如果没有;不存在,则显示收藏夹
- 为什么触摸事件不在手指按压的中间
- 发送和接收“;生的“;OS X上JavaScript的Apple活动(El Capitan)
- 如何用视频创建网络动画——比如apple.com/ipad-air
- 如何检测多点触摸手指何时移动到子元素上
- 在触摸结束事件期间,Find元素手指处于打开状态
- 如何在Apple Watch中显示D3.js图表
- 扩展浏览器以处理Apple键盘事件
- 检测 HTML 页面中的手指悬停事件
- 禁用手指滑动的水平滚动
- jquery smartbanner without apple smartbanner
- iOS应用程序在Apple-TV上播放youtube视频
- Meteor.js Facebook使用“Apple-mobile-web-app-able”登录
- Safari 7 不支持 Mavericks (OS X 10.9) 中 com.apple.Safari.plist
- 使用鼠标/手指调整大小的矩形
- 在浏览器中检测 4 根手指滚动
- Chrome 和 Apple iPhone JavaScript/html 中的表情符号
- 锤.js:如何用任意数量的/多个手指检测捏合
- Javascript 触摸事件:区分手指与 Apple Pencil