因此,我经常在使用我的iPad时点击网站上的按钮,而iOS所做的是实际切换设计者创建的悬停状态,而这只是为了成为一个实际的:悬停事件。我制作了一个正在遭受这种毫无意义行为的网站。 例如,您可以点击一个不离开页面的按钮,但在iOS中,它会永久显示该按钮的悬停状态。 如何优雅地删除这个想法不明的行为 ?当按下按钮时禁用iOS的行为:悬停状态
2
A
回答
0
通过添加新的CSS文件,并使用条件注释的最大宽度的设备,然后在例如这些新的css文件重置悬停状态...
iPhone
<link media="only screen and (max-device-width: 480px)" rel="stylesheet" href="css/iphone.css" type="text/css" title="no title"/>
的iPad
<link media="only screen and (device-width: 768px)" rel="stylesheet" href="css/ipad.css" type="text/css" title="no title"/>
然后只是调整什么CSS输出这些设备。
0
这将需要一些JavaScript,但这是我能想出的最佳解决方案。
基本上你会覆盖默认样式,然后切换一个类而不是依靠悬停事件。
我会说这个解决方案是非常简单,让用户既能够单击顶级链接,展开/折叠链接
的HTML
<ul>
<li><a href="some-url">link name <span></span></a>
<ul>
<li><a href="some-url">link name</a></li>
</ul>
</li>
<li><a href="some-url">link name <span></span></a></li>
<li><a href="some-url">link name <span></span></a></li>
</ul>
的CSS
li{width:200px;}
li a span{
display:inline-block;
height:10px;
width:10px;
background:#000;
float:right;
}
/* Standard menu system */
li ul{display:none}
li:hover ul {display:block}
/* Override for ios */
/* Needs to be inside some media query */
/* Something like @media(max-width:497px) */
li:hover ul{display:none;}
li.hovered ul{display:block}
的JavaScript(jquer Y)
$('nav li a span').click(function (e) {
e.preventDefault();
$('nav li').not($(e.target).parents('li')).removeClass('hovered');
$(e.target).parent('a').parent('li').toggleClass('hovered');
})
工作的jsfiddle
相关问题
- 1. 悬停/按下状态的按钮
- 2. 如何禁用移动设备上按钮的悬停状态?
- 3. 当悬停按钮
- 4. CSS精灵 - 如何让悬停按钮在按下状态
- 5. 禁用悬停时,按下键
- 6. Tripleplay按钮和指针悬停状态
- 7. ASP.NET按钮没有悬停状态?
- 8. Android:当按钮状态按下时按钮填充改变
- 9. 当鼠标悬停在按钮上时,按钮添加按钮
- 10. CSS按钮禁用状态?
- 11. 当禁用ng为自定义按钮时禁用css悬停效果
- 12. 按下按钮时停止声音iOS
- 13. jQuery - 启用/禁用复选框状态下的按钮状态
- 14. 悬停悬停时的按钮描述?
- 15. 禁用winform按钮上的悬停行为
- 16. 悬停下拉按钮
- 17. 鼠标悬停在禁用按钮
- 18. 当我按下另一个按钮时,如何禁用按钮
- 19. 当我按下按钮时,其他按钮如何禁用?
- 20. 添加CSS动态时悬停按钮
- 21. 当按下按钮时不动画iOS
- 22. 按钮悬停
- 23. 悬停按钮
- 24. RichFaces的按钮启用禁用:状态
- 25. 悬停时显示按钮
- 26. 悬停时按钮震动
- 27. 悬停时编辑按钮
- 28. 悬停,按下和活跃状态不显示1个按钮在导航栏
- 29. 使用不同悬停状态的按钮资源
- 30. 当按钮处于活动状态时禁用所有输入