现在是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为此添加原生支持?或者是否有任何第三方Angular库以正确的方式支持它?
我知道我可以自己写一切,但对我来说,这似乎是非常基础的,它应该得到框架或周围生态系统所需的关注。