有什么方法可以区分触摸和点击吗?"你到底要干嘛?"总是有人认为他们知道每个可能的用例,所以对你来说:
我们有一个多层下拉导航菜单。如果用户使用带有鼠标的普通笔记本电脑,则菜单下拉菜单为:onmouseover。但是,如果他们点击了第一层项目,我们希望他们直接转到某个页面。因此,当用户使用具有触摸功能的笔记本电脑时,问题就出现了。在这种情况下,触摸被视为单击和鼠标悬停。因此,用户将看到菜单下拉菜单,然后直接转到第一层中连接的页面或菜单标题。他们永远无法选择第二层或第三层菜单项。
然后,您可以做的是在声明事件之前检测用户是在平板电脑/智能手机上还是在笔记本电脑上,然后在设备上添加正确的事件。
您可以通过在userAgent string witch上使用正则表达式来检测设备,其中包含用户浏览器上的数据,并且可以从导航器API =>navigator.userAgent
请参阅此网站以获取您需要的正则表达式:http://detectmobilebrowsers.com/
或者,您也可以使用外部库,例如移动检测.js。