【发布时间】:2014-10-18 08:26:37
【问题描述】:
我对 CSS 悬停效果有疑问。我使用悬停导航来激活带有显示类的子菜单。在移动设备上,我的问题是没有悬停,所以我只能单击主菜单但看不到子菜单。有没有办法让它在移动设备上工作?
【问题讨论】:
标签: html css hover mobile-devices
我对 CSS 悬停效果有疑问。我使用悬停导航来激活带有显示类的子菜单。在移动设备上,我的问题是没有悬停,所以我只能单击主菜单但看不到子菜单。有没有办法让它在移动设备上工作?
【问题讨论】:
标签: html css hover mobile-devices
在移动设备上,hover 属性是无用的,因为用户必须用手指滚动页面,通过悬停(按住)它会触发其他设备选项。所以最好的解决办法是通过点击主菜单打开子菜单。
编辑(根据 OP 的要求):
http://jsfiddle.net/eyyuLs65/
【讨论】:
我使用 ontouchstart 事件来触发 mouseenter 事件,因此这会渗透到伪类 :hover 事件。
我将它用于工具提示目的,以便在移动设备上工作。
在以下示例中,我为所有具有 w3-tooltip 类的 HTML 集合添加了一个事件处理程序
// On mobile devices the ontouchstart event exists,
// so we get it to trigger a mouseenter event, hence a :hover() event
function misc_mobileSetup() {
var list = document.getElementsByClassName("w3-tooltip");
for (var i in list) {
list[i].ontouchstart = function() {list[i].mouseenter();};
}
}
【讨论】: