我正在画布上编写网络应用程序,假设支持平板电脑和触摸压力。但是,如果我没记错的话,我相信只有 IE10 支持这些指针事件。我想知道chrome和firefox是否会很快支持它?
4 回答
编辑:
Blink 团队在 2015 年 3 月 25 日再次改变了主意。他们最终决定实施指针事件。在撰写本文时,Apple 是唯一一家反对实施指针事件的主要浏览器供应商。
原答案:
Blink 团队(意思是 Chrome)在 2014 年 8 月 15 日表示他们不会实施这个,将问题 162757标记为 WontFix。这是他们的完整解释。报价:
简而言之,指针事件相对于替代方案有 3 个主要缺点:
1) 移动优先网络:指针事件可能永远不会取代网络上的触摸事件(尤其是在没有 Safari 支持的情况下)。由于触摸事件会一直存在,因此支持另一种大量冗余的输入模型在 Web 平台上具有很高的长期复杂性成本。
2) 性能:指针事件所需的命中测试模型施加了 Android、iOS 或触摸事件都没有的不平凡的性能损失(对每个移动事件进行命中测试)。我们不愿意添加任何会增加 Web 相对于原生移动平台的性能劣势的功能。
3) 丰富性:指针事件要求滚动和事件处理是互斥的。这排除了一些在移动平台上常见的 UI 效果(例如,拉动刷新)。最近强烈的开发人员反馈导致我们在此处向相反的方向更改 Chrome - 在滚动时启用事件处理(请参阅问题 293467)。
该 API 仍处于草稿阶段,但越来越接近作为W3C 推荐标准发布。
有一个原型 Chromium 构建使用来自 Microsoft 添加 MSPointer 事件 API 的补丁创建,并且Webkit 实现正在取得进展,因此看起来采用正在向前发展。
微软还为 Firefox 提供了一个演示补丁,它正在与主干集成。(感谢apsillers)
时间表仍然不确定,但所有迹象都表明所有浏览器最终都会采用。
现在指针事件正在谷歌浏览器中工作!
从Can I use网站看来,目前已启用对指针事件的支持,并且从 55 版(2016 年 12 月)开始在 chrome 上工作。刚刚使用 Google Chrome 版本 59 在 Windows 10 上测试了该功能,并且我的 wacom 数位板压力正在工作。用谷歌浏览器在Ubuntu上测试,最新版本,但是压不注册。
看起来指针事件仅在 Google Chrome、Internet Explorer 10+、Edge 和 Opera 上受支持。但是我没有测试过Opera,所以我不知道它是否支持压力。
我刚刚在 Surface Studio 上用 Chrome 58(Windows 10)中的笔测试了这个。它生成指针事件,但pressure
总是0.5
。它没有记录任何差异。IE 正确地返回不同的值pressure
。