【发布时间】:2019-07-14 01:02:03
【问题描述】:
我们开发了一个 Ionic 4 应用程序,该应用程序安装在 Android 平板电脑上的 POS(销售点)中。
问题是,<ion-button (click)="doSomething"> 事件通常不会被识别,因为用户站在平板电脑前,平板电脑非常低并且没有进行干净的点击,而是一个非常小的水平移动,离子似乎识别为 (触摸)移动。这在廉价的三星 Tab A 和三星 Tab S3 上经常发生。
按钮实际上改变了它的颜色,就像触摸一样,但它不会触发。这不会发生在 android 键盘上,因此键盘上的按钮似乎更能容忍小动作。
我们尝试了很多组合,比如
(click) tappable
tap
(click) (touchmove)
(clik) (tap)
(tap)
(click) (touchstart)
(touchmove)
(touchstart)
唯一有效的是最后一个。 (自然不能在元素列表中使用它,因为它会阻止滚动,但我们可以忍受)。
现在我认为这是一个有点肮脏的解决方法。有没有更好的解决方案来解决这个问题,比如配置按钮内的移动容差? (事实上,只要我的手指停留在按钮区域,我就想识别点击,这就是它与角键盘的工作方式。
欢迎提出任何建议。
顺便说一句:我不记得在 Ionic 3 上有这么严重的问题,但我可能错了。
【问题讨论】:
-
您是否尝试过扩展和覆盖 Hammer 配置?我在长按超敏感银河笔记时遇到问题,以这种方式修复它,但我不确定(点击)是否有任何可覆盖的选项,如允许的阈值等,但点击应该在thete中
-
点击此处查看选项:hammerjs.github.io/recognizer-tap
标签: angular button click ionic4 touchstart