CSS/HTML: 禁用链接的“悬停”文本

7
你知道当你将鼠标悬停在链接上时,在大多数浏览器中,它会在左下角(也称为chrome)或状态栏中显示链接吗?我该如何禁用这个功能?

1
看起来你无法手动设置状态栏文本。请阅读这里:https://developer.mozilla.org/en/DOM/window.status - Šime Vidas
3
就记录而言,作为用户,我真的很讨厌页面试图隐藏那样的信息。我敦促您重新考虑。 - kikito
1
就想随便评论一下这个老问题帖子 :) 即使作为一个经常说“别问为什么,回答问题”的人,我也不推荐这样做,这只会让在意的人感到烦恼,而那些不在意的人可能甚至都不会意识到它的存在,毕竟它并不是很大。 - undefined
4个回答

14

唯一的方法是移除 'href' 中的数据,并将其改为一个 JavaScript onclick 函数,在该函数中设置 window.location 为所需的 URL。

<a href="http://www.stackoverflow.com/">Go To SO</a>

变成

<a style="cursor: pointer" onclick="javascript: window.location = 'http://www.stackoverflow.com/';">Go To SO</a>

3
通过 JavaScript 来禁用 URL 显示可能是唯一的方法,但这引出了一个问题:为什么要这样做?URL 显示是一个有效且重要的功能,禁用它对用户体验来说并不好。 - Jonathan Miller
3
我同意,但这是Bubby4j想要的。我经常见到这种情况(与禁用右键javascript警告类似),这并不是一种好的做法,但你不能阻止人们想要这样做或实际上这样做 :) - NKCSS
是的,我知道让操作员了解最佳实践很有用,但假设提问者不知道自己在做什么是低估了他们。我正在制作一个网络文档,在其中链接鼠标悬停文本会分散注意力,因此我正在寻找这些信息。 - Wes Modes

1
我今天遇到了同样的问题..这里有一个开箱即用的解决方法:
只需将<a>替换为<span>,并在隐藏组件中隐藏地址,
然后使用Jquery创建页面重定向/ Ajax。
HTML:
  <span class="fake-link" >
        <span class="url" style="display:none;">www.my-url.com</span>
        Go to My-URL page
    </span>

Jquery:
$(function(){
    $('.fake-link').on('click', function(e){
        var url = $(this).find('.url:first').html(); 
        window.location = url;
    });
});

1
另一个想法:使用重定向器。
将链接设置为您自己的页面(aspx),然后在该页面上执行Response.Transfer。使用aspx时,如果需要,可以使用属性(在查询字符串中)来用于多个链接。这样用户仍然知道它是一个链接,但在悬停时无法看到实际的URL。

-1

更改 onclick 事件:

<a href="#" id="linkid">Link</a>

<script type="text/javascript">
function changeOnClick()  {
    document.getElementById("linkid").onclick=function(e) {
        location.href="http://www.your-site.com";
        return false;
    }
}
window.onload=changeOnClick;
</script>

您可以将“#”更改为您想要状态栏显示的任何内容。


在发布之前,你应该刷新一下 ;) - NKCSS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接