在此过程中使用交互式的DOM元素的单个页面的JavaScript应用程序,我发现了" mouseover-mousemove-mousedown-mouseup-click
"序列一切发生在一堆后的" touchstart-touchmove-touchend
"事件顺序.
我还发现,可以mouse*-click
通过event.preventDefault()
在touchstart
事件期间执行" " 来防止" "事件发生,但仅在此期间,而不是在touchmove
和期间touchend
.这是一个奇怪的设计,因为在此期间无法知道touchstart
用户是想要拖动还是滑动或只是点击/点击该项目.
我最终设置了一个与时间戳相关的"ignore_next_click"标志,但这显然不是很干净.
有没有人知道更好的方法,或者我们错过了什么?
请注意,虽然"点击"可以被识别为" touchstart-touchend
"序列(即没有" touchmove
"),但是某些事情,例如键盘输入焦点,只能在适当的click
事件期间发生.