有什么方法可以区分触摸和点击吗?“你到底为什么要这么做?”总是有人认为他们知道所有可能的用例,所以对你来说:
我们有一个多层次的下拉导航菜单。如果用户使用的是带鼠标的普通笔记本电脑,则菜单会下拉到: onmouseover。但是,如果他们单击第一层项目,我们希望他们直接转到页面。因此,当用户使用具有触摸功能的笔记本电脑时,问题就来了。在这种情况下,触摸既被视为单击,也被视为鼠标悬停。因此,用户将看到菜单下拉菜单,然后被直接带到第一层中挂钩的页面,或者菜单标题。他们永远无法选择第二层或第三层菜单项。
发布于 2018-10-13 23:53:51
然后,您可以做的是,在声明您的事件之前检测用户是在平板电脑/智能手机上还是在笔记本电脑上,然后在设备上添加有关的正确事件。
您可以通过对包含用户浏览器上的数据的userAgent字符串使用正则表达式来检测设备,该字符串可以通过导航器API => navigator.userAgent访问。
要获取所需的正则表达式,请访问以下网站:http://detectmobilebrowsers.com/
或者你也可以使用一个外部的库,比如mobile-detect.js。
https://stackoverflow.com/questions/52793735
复制相似问题