我正在构建自适应网站,主导航会在hover
上显示子导航。在触摸屏上,它会在click
(更具体地touchstart
)上执行此操作。
在桌面上,当用户不再悬停在导航或子导航上时,它会消失。为了在触摸屏上实现相同的功能,我将一个函数绑定到touchstart
的{{1}}事件。此函数检查触摸是否发生在body
内的元素上。如果它没有关闭一个打开的子导航。
麻烦的是,如果用户点击nav
,不,如果他们滚动,我只希望这种情况发生。如何检查用户是否滚动而不是仅仅点击?
到目前为止的功能是:
nav
答案 0 :(得分:3)
我会在touchstart上检测到他们触摸的位置(坐标),并设置时间检查几毫秒......如果触摸点移动了几个像素,他们就会滚动。
编辑: 编码触摸屏界面时遇到的其他问题是certain devices have a built-in delay of ~300ms when using click()。如果你还没有,可以覆盖它。