在此过程中使用交互式的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事件期间发生.