假设我有一个网页,它有一些 onmouseover javascript 行为来下拉菜单(或类似的东西)
显然,这不适用于 iPad 或智能手机等触摸设备。
如何检测浏览器是否支持 onmouseover 或 onmouseout 等悬停事件以及 CSS 中的 :hover 伪标记?
注意:我知道如果我担心这个我应该用不同的方式写它,但我很好奇是否可以进行检测。
编辑:当我说“支持悬停事件”时,我的意思是“浏览器是否具有悬停事件的有意义表示”。如果硬件支持但软件不支持(反之亦然),则表示没有任何意义。除了一些 upcoming tech ,我认为任何触摸设备都不会有意义地表示悬停事件。
最佳答案
此方法捕获更多设备/浏览器
try {
document.createEvent("TouchEvent");
alert(true);
}
catch (e) {
alert(false);
}
关于javascript - 如何检测浏览器是否支持鼠标悬停事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643443/