禁用JavaScript的超链接
假设我在网站上有一些超链接。如果单击某个链接,则会发生以下情况:禁用JavaScript的超链接,javascript,jquery,css,Javascript,Jquery,Css,假设我在网站上有一些超链接。如果单击某个链接,则会发生以下情况: $('a').click(function() { $(this).next('div').toggle() }) 在手机上,如果用户禁用了JavaScript,则不会发生任何事情 下面是CSS: a + div { display: none; } a:hover + div { display: block; } 但是悬停在移动设备上不起作用 我如何处理这个问题,让智能手机/平板电脑用户在禁用JS的情况下点击
$('a').click(function() {
$(this).next('div').toggle()
})
在手机上,如果用户禁用了JavaScript,则不会发生任何事情
下面是CSS:
a + div {
display: none;
}
a:hover + div {
display: block;
}
但是悬停在移动设备上不起作用
我如何处理这个问题,让智能手机/平板电脑用户在禁用JS的情况下点击这样一个链接?一种常见的方法是通过复选框破解。您可以使用label+input type=“checkbox”+div组合代替a+div组合。
使用一些简单的CSS,您可以隐藏实际的复选框,但仍然可以使用标签更改隐藏复选框的:选中状态,并使用:选中+div规则显示或隐藏div。
CBroe指出:在这种情况下,target比checkbox黑客更好。它基本上允许您根据页面当前url的哈希值更改CSS
像这样的方法应该会奏效:
<a href="#myContent1">Link text</a>
<div id="myContent1">I only show up if you click the link.</div>
a + div {
display: none;
}
a + div:target {
display: block;
}
我只有在你点击链接时才会出现。
a+div{
显示:无;
}
a+分区:目标{
显示:块;
}
谁关心禁用JS的设备?对他们来说太糟糕了…告诉那些人启用JS。。。我不知道有多少人使用禁用JS的浏览器,但如果我这么做了,我会告诉他们不要再傻了。我甚至不知道如何在Android Chrome上关闭JavaScript。在这种情况下,我宁愿建议使用:target
。嗯,我不熟悉:target解决方案,但谷歌搜索了它,它似乎更适合这种情况,对谢谢你指出这一点。