我是移动优化网站,我做了一个弹出菜单。我已禁用更改菜单按钮的颜色:悬停。我这样做是因为iPhone认为最后一次点击是为了保留悬停伪类。
然而,现在我在黑莓上进行测试,他们有一个桌面式光标,因此鼠标悬停时元素会改变颜色。
是否可以禁用iPhone的悬停颜色,但不能禁用blackberrys?更一般地说,有没有办法只为像blackberrys这样的非触摸屏设备使用悬停颜色,因为只有它们可以真正地鼠标悬停。 谢谢
答案 0 :(得分:0)
这回答了问题的第一部分。 尝试使用Modernizr,然后添加一个appleOS测试。
Modernizr.addTest('ipad', function () {
return !!navigator.userAgent.match(/iPad/i);
});
Modernizr.addTest('iphone', function () {
return !!navigator.userAgent.match(/iPhone/i);
});
Modernizr.addTest('ipod', function () {
return !!navigator.userAgent.match(/iPod/i);
});
Modernizr.addTest('appleios', function () {
return (Modernizr.ipad || Modernizr.ipod || Modernizr.iphone);
});
从那里开始,如果是iOS,可以向主体添加一个类,并仅为非iOS设备应用悬停类。
理想情况下,您可以使用Modernizr添加到不支持触摸的浏览器的“notouch”正文类,但根据我的经验,它不会将此类添加到Blackberry浏览器,即使该设备不支持触摸。如果您发现不同,请告诉我们!