angular-material中更智能的触摸事件
More intelligent touch events in angular-material
前提
ngTouch 是一个库,它通过 ngClick 使触摸事件在行为上比标准触摸模型更 intuitive/close。 Tap是点击;可以以独特的方式处理触摸和按住,或者在释放触摸时触发点击事件;离开原始目标时释放触摸不会触发原始元素的点击事件。 Angular Material,我的应用使用的与 ngTouch 不兼容。
问题
我们观察到一些用户在移动设备上与应用程序交互,并且有很多地方会过早触发元素的点击事件。例如:用户试图滚动图片库,但详细预览不断弹出,因此他们无法向下滚动。我相信实际的点击事件与 ontouchstart 相关联,以消除香草 angular 中标准的 300 毫秒点击延迟,这意味着触摸的任何额外效果(即按住、滑动)将其与标准点击区分开来将被有效忽略。
我正在寻找一种模仿 ngTouch 智能触摸事件的方法来防止这种意外行为。我不认为我可以使用装饰器,因为这会让我用一个全新的指令覆盖 ngClick 指令(我之前做过,但是对许多 material 元素的事件委托造成了一些严重的问题) 或接受正常点击事件将在我的代码之前触发并尝试追溯处理这一事实。我有哪些选择?
从 1.1.4 开始,angular-material 库中似乎已经解决了这个问题。
前提
ngTouch 是一个库,它通过 ngClick 使触摸事件在行为上比标准触摸模型更 intuitive/close。 Tap是点击;可以以独特的方式处理触摸和按住,或者在释放触摸时触发点击事件;离开原始目标时释放触摸不会触发原始元素的点击事件。 Angular Material,我的应用使用的与 ngTouch 不兼容。
问题
我们观察到一些用户在移动设备上与应用程序交互,并且有很多地方会过早触发元素的点击事件。例如:用户试图滚动图片库,但详细预览不断弹出,因此他们无法向下滚动。我相信实际的点击事件与 ontouchstart 相关联,以消除香草 angular 中标准的 300 毫秒点击延迟,这意味着触摸的任何额外效果(即按住、滑动)将其与标准点击区分开来将被有效忽略。
我正在寻找一种模仿 ngTouch 智能触摸事件的方法来防止这种意外行为。我不认为我可以使用装饰器,因为这会让我用一个全新的指令覆盖 ngClick 指令(我之前做过,但是对许多 material 元素的事件委托造成了一些严重的问题) 或接受正常点击事件将在我的代码之前触发并尝试追溯处理这一事实。我有哪些选择?
从 1.1.4 开始,angular-material 库中似乎已经解决了这个问题。