Javascript 使用touchstart和/或单击(鼠标向下)按钮6

Javascript 使用touchstart和/或单击(鼠标向下)按钮6,javascript,angular,mouseevent,dom-events,touch-event,Javascript,Angular,Mouseevent,Dom Events,Touch Event,问题: 我有一个问题,在整个应用程序中使用了click事件。该应用程序将在手机和网络上使用。我用的是角度6 每次你在我的桌面上点击浏览器上的按钮或链接时,它在第一次点击时起作用,但在移动设备上,点击有时不起作用。如果我错了,请纠正我,但我相信人们会将此称为“鬼点击” 我原以为这是300毫秒的延迟,但我试过使用hammerjs的tap并尝试了fastclick,而这似乎不是问题所在 我曾尝试在html中使用touchstart而不是单击/点击,它似乎解决了这个问题 有没有办法将mousedown和

问题:

我有一个问题,在整个应用程序中使用了click事件。该应用程序将在手机和网络上使用。我用的是角度6

每次你在我的桌面上点击浏览器上的按钮或链接时,它在第一次点击时起作用,但在移动设备上,点击有时不起作用。如果我错了,请纠正我,但我相信人们会将此称为“鬼点击”

我原以为这是300毫秒的延迟,但我试过使用hammerjs的tap并尝试了fastclick,而这似乎不是问题所在

我曾尝试在html中使用touchstart而不是单击/点击,它似乎解决了这个问题

有没有办法将mousedown和touchstart绑定到一起? 有没有一种方法可以使用桌面上的单击/鼠标向下和移动设备上的touchstart?

还有什么其他方法可以解决这个问题?

如果您使用Angular 6,默认情况下,它在内部使用hammerjs库来处理触摸手势事件。此外,它还消除了双抽头300毫秒的延迟。下面是一个URL,它解释了更多关于触控手势的信息

在模板中尝试:

<div
  (touchmove)="touchMoving($event)"
  (touchstart)="touchStart($event)"
  (touchend)="touchEnd($event)"
>

我发现,如果是移动应用程序,在Angular中的按钮应该总是使用(mousedown)而不是(click)。通过单击,事件有时会由于DOM问题而无法注册。要获得最佳性能,请使用鼠标向下。

我感谢您的回复。我目前正在使用hammerjs中的点击功能,这似乎并不能解决手机上按钮响应缓慢的问题,有时你必须点击两次才能注册。你应该使用(点击)功能,它对桌面和手机都有效(点击),而(点击)功能似乎是一样的,几乎所有的应用程序都是用(点击)创建的,但问题是(点击)看起来慢了,也没有反应。(touchstart)是唯一一款响应速度似乎很快的产品,但我也需要它在桌面上工作。你使用的是爱奥尼亚吗?我没有使用爱奥尼亚
touchMoving($event) {
  console.log($event);
}