我正在构建一个响应式站点,主导航显示hover
. click
在触摸屏上(touchstart
更具体地说)它会这样做。
在桌面上,当用户不再将鼠标悬停在导航或子导航上时,它就会消失。为了在触摸屏上实现同样的功能,我将一个函数绑定touchstart
到body
. 此函数检查触摸是否发生在nav
. 如果没有,它会关闭一个打开的子导航。
问题是我只希望在用户点击外部时发生这种情况nav
,而不是在他们滚动时发生。如何检查用户是否滚动而不是仅仅点击?
到目前为止的功能是这样的:
$('body').bind('touchstart', function(e) {
if($(e.target).closest('nav').length == 0) {
closeAll();
}
});