如果触摸,否则单击,否则

时间:2018-10-13 14:03:47

标签: javascript javascript-events click ontouchstart

有什么方法可以区分触摸和点击吗? “为什么要在地球上?”总是有人以为他们知道每种可能的用例,所以对您来说:

我们有一个多层下拉式导航菜单。如果用户使用鼠标在普通笔记本电脑上,则菜单下拉菜单为:onmouseover。但是,如果他们单击第一层项目,我们希望他们直接转到页面。因此,当用户使用具有触摸功能的笔记本电脑时,就会出现问题。在这种情况下,触摸被视为单击和鼠标悬停。因此,用户在直接进入挂钩在第一层的页面或菜单标题之前,将看到菜单下拉菜单。他们将永远无法选择第二层或第三层菜单项。

1 个答案:

答案 0 :(得分:0)

然后,您可以做的是在声明事件之前检测用户是在平板电脑/智能手机上还是在笔记本电脑上,然后在设备上添加正确的事件。

您可以通过在userAgent上使用正则表达式来检测设备。代理字符串包含用户浏览器上的数据,并且可以从导航器API => navigator.userAgent

进行访问

访问此网站获取所需的正则表达式:http://detectmobilebrowsers.com/

或者您也可以使用外部库,例如mobile-detect.js。