现在是 2017 年,我发现在当今的浏览器中处理所有这些不同的输入方法(鼠标、触摸、指针)真的很痛苦。但是,在开发 HTML5/JS 跨浏览器/平台应用程序时,仅仅经常处理鼠标事件已不再适用。由于 AngularJS 是一个非常可靠、最先进的框架,我希望它在这件事上以某种方式支持我。还是我错了?
Chrome 55+ 现在支持Pointer Event API。对于尚不支持它的浏览器(或者不想支持它,是的,我指的是 Safari),有可用的polyfills。所以这看起来像是要走的路。
在我的 Angular 应用程序中,我只想执行以下操作:
<div ng-pointerdown="vm.handlePointerDown()"
ng-pointerup="vm.handlePointerUp()"
ng-pointercancel="vm.handlePointerCancel()"
ng-pointermove="vm.handlePointerMove()"
ng-pointerover="vm.handlePointerOver()"
ng-pointerout="vm.handlePointerOut()">
</div>
然后我想忘记所有关于 ng-mouse* 处理程序的事情,而不关心编写我必须并行订阅的自定义 touchstart、touchend 等处理程序。
Angular 是否有计划为此添加本机支持?或者是否有任何 3rd 方 Angular 库以适当的方式支持这一点?
我知道我可以自己编写所有内容,但对我来说,这似乎是如此重要,以至于它应该得到框架或周围生态系统的期望关注。