我写了一个HTML页面,主要在iPad上查看。基本上它是一个带有每个问题悬停效果的FAQ列表。为了在iPad上启动悬停效果,我不得不像这样放置一个虚拟链接。
<a href="#">The question?</a>
这是一个适用于所有浏览器的问题:当列表过长需要滚动时,如果你点击页面底部的链接,它会跳回顶部并启动悬停效果。我为演示目的制作了一个 fiddle:
在向下滚动并单击最后一个链接时,页面会跳转到顶部。
问题:如何防止使用虚拟链接时页面跳转到顶部?
我写了一个HTML页面,主要在iPad上查看。基本上它是一个带有每个问题悬停效果的FAQ列表。为了在iPad上启动悬停效果,我不得不像这样放置一个虚拟链接。
<a href="#">The question?</a>
在向下滚动并单击最后一个链接时,页面会跳转到顶部。
问题:如何防止使用虚拟链接时页面跳转到顶部?
将这个添加到您的链接中:
<a href="#" onClick="return false;">The question?</a>
或者如果你是通过JQuery来做的:
$('a[href="#"]').click(function(event){
event.preventDefault();
});
$('a[href="#"]').click(...);
- 这只应该针对到 #
的超链接,如 http://www.w3.org/TR/css3-selectors/#selectors 所述。 - ANeves添加到锚点标签
onclick="return false;"
这将会停止它
<a href="javascript:;">The question</a>
,它不会执行任何操作(空的 JavaScript 命令),并且您的滚动条将保持在原地 ;)如果您只想要悬停效果,根本不需要使用 a
。
您可以使用 spans 并替换 CSS 以使其针对 spans:http://jsfiddle.net/SWXHR/6/
如果您想让光标像锚点一样,您可以使用 CSS 实现 - cursor: pointer;
:focus
或者:active
?只需要将单个 '#' 替换为双 '##' 即可。
<a href="##">这是问题啊?</a>