首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果触摸,则如果单击,则返回else

如果触摸,则如果单击,则返回else
EN

Stack Overflow用户
提问于 2018-10-13 22:03:47
回答 1查看 81关注 0票数 0

有什么方法可以区分触摸和点击吗?“你到底为什么要这么做?”总是有人认为他们知道所有可能的用例,所以对你来说:

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

EN

回答 1

Stack Overflow用户

发布于 2018-10-13 23:53:51

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

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

要获取所需的正则表达式,请访问以下网站:http://detectmobilebrowsers.com/

或者你也可以使用一个外部的库,比如mobile-detect.js。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52793735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档