我正在使用角度材质。
首先,在桌面浏览器上,一切正常。
但是在智能手机上(或使用 Chrome 中的开发人员工具(,当您在mousedown
时将光标移动一个像素时,不会触发按钮的(单击(事件。
我想这是有意的,而不仅仅是故意的行为, 并且与在移动设备上滚动有关, 虽然材质按钮的涟漪效应对我来说似乎有点奇怪。
当我做一个mousedown
时,会显示涟漪,看起来按钮点击有效,但由于移动,点击实际上并没有触发事件。
这很容易在 Angular Material 站点的许多示例页面上进行测试。 我只是将Stackblitz链接到小吃店的例子。
https://stackblitz.com/angular/kryggamvlaa?file=app%2Fsnack-bar-overview-example.ts
只需切换到开发人员工具并选择移动设备即可。 然后点击显示小吃栏按钮并向左移动 1 个像素。 如果mousedown
和mouseup
在按钮内,我认为它应该触发事件。
强制这种行为的最佳方法是什么,或者我应该为此使用touchStart
?
仅供参考。
我最终使用了touchStart并禁用了应用程序中的涟漪效果。 就我而言,对于某些按钮来说,这感觉更流畅。
正如问题中提到的,我想这种行为是有意的。 我只是想知道是否有更好的方法来处理这个"问题"。