Javascript 如何修复:如果没有<;a>;元素?
如何修复Javascript 如何修复:如果没有<;a>;元素?,javascript,iphone,html,hover,Javascript,Iphone,Html,Hover,如何修复:如果没有 我回答了一个JavaScript方法来解决这个问题,但我想知道是否有不同的方法来解决这个问题(可能更好)您可以使用JavaScript来解决这个问题。 以下脚本将hover as类添加到元素中: <script type="text/javascript"> $("li").hover( function () { $(this).addClass("hover"); }, function () { $(this).remov
:如果没有
我回答了一个JavaScript方法来解决这个问题,但我想知道是否有不同的方法来解决这个问题(可能更好)您可以使用JavaScript来解决这个问题。
以下脚本将hover as类添加到
元素中:
<script type="text/javascript">
$("li").hover(
function () {
$(this).addClass("hover");
},
function () {
$(this).removeClass("hover");
}
);
</script>
将是:
ul li:hover ul,
ul li.hover ul,{
display:block;
}
jQuery文档:
尽管iPhone/etc没有明确的悬停状态,但当用户点击链接时,链接的悬停状态会被触发。一般来说,双击实际上会跟随链接
也许可以重新构造HTML,使您的锚定具有悬停状态,而不仅仅是列表项。不需要JS。使iPhone尊重悬停状态
<ul>
<li onclick="//">test</li>
<li onclick="//">test</li>
<li onclick="//">test</li>
</ul>
- 测试
- 测试
- 测试
将:焦点和:活动添加到您的样式中:
ul li ul{显示:无}
ul-li:focus-ul,ul-li:active-ul{display:block}我找到了处理div:hover的最佳方法,可以在iphone上工作。不使用javascript
使用光标:指针
使元素的行为类似于锚定标记
css
ul li{光标:指针}
你还会注意到,当你在下拉菜单外点击时,它不会在iphone上关闭,除非你点击一个真正的链接。因为我们在手机上看不到光标,这就是我提出的解决方案
css
正文{光标:指针}
悬停不是iPhone界面的状态。点击或触摸。你必须等待热敏平板电脑和手机应用鼠标悬停…我知道答案,但我还不能发布。我必须自己解决这个问题,但在互联网上的其他任何地方都找不到。但是因为我是新来的,所以我还不能发布它。没有链接,我正在悬停一个列表项,我想在这个列表中显示一个ul。我不想使用锚,因为它没有锚。你能发布你的HTML吗?我在问题中添加了HTML示例好的,我明白你的意思。我个人会将它们制作成锚,这样就根本不需要JS了,但我看到您已经将JS答案标记为您的解决方案,所以它一定不是问题。我的想法是:- […]
这不是问题,但我正在寻找更好的方法。。。正如我在问题中所描述的,这是一个选项,但我不想给每个li添加onclick。这也适用于JavaScript,但我的答案只使用了一小段代码。但是对于响应,这是一个很好的选择(+1)你确定这有效吗?如果你能给我举一个我可以在iPhone上测试的工作示例,我会投票支持你的答案。请详细说明你的答案,一个链接是不够的。哇,这个技巧太棒了。我会将body{cursor:pointer}
更改为html.touch{cursor:pointer}
,以避免指针出现在非触摸设备上。当然,在检测到触摸设备后,您必须向html标记添加“touch”类。
ul li:hover ul,
ul li.hover ul,{
display:block;
}
<ul>
<li onclick="//">test</li>
<li onclick="//">test</li>
<li onclick="//">test</li>
</ul>
//ipad and iphone fix
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
$(".menu li a").click(function(){
//we just need to attach a click event listener to provoke iPhone/iPod/iPad's hover event
//strange
});
}