鼠标悬停时如何将url隐藏在超链接中

Posted

技术标签:

【中文标题】鼠标悬停时如何将url隐藏在超链接中【英文标题】:how can url be hidden in hyperlink when mouse hover 【发布时间】:2012-04-08 17:33:25 【问题描述】:

当鼠标悬停在超链接上时,如何隐藏 URL 以不显示?

<a href="url">Hyperlink</a>

当鼠标悬停时,如何隐藏 URL,使其不显示在浏览器的底部状态栏中?

【问题讨论】:

听起来你正在尝试做一些粗略的事情。据我所知,没有办法阻止这种行为,以防止人们试图掩盖链接可能导致的位置。呵呵。 很多时候您可能已经看到当鼠标悬停在该超链接上时没有显示任何 url,这是怎么回事?出于安全原因? 使用 Simeon 描述的方法完成。我不相信使用这种方法的网站。这不好,我想知道我要去哪里,这是不必要的混淆。 【参考方案1】:

不要将 URL 放在 href 中(或保留它 href="#"),并将 javascript 函数附加到 onclick 事件,将实际链接放在 a 元素中。这样,当您将鼠标悬停在链接上时,您不会看到实际的 URL,但会在用户实际点击时插入链接。

【讨论】:

好的,但我可以看到 # 在这里,什么都不应该显示,例如悬停在这个 *** 网站的添加评论上,那个超链接上没有显示 url 怎么办? Stack Overflow 上的该元素中没有 href 属性,您可以尝试一下。所以点击时,JavaScript 函数应该添加href 属性,并以 URL 为值。 你能展示一个这样的演示吗?举个例子,这样我就可以在这里测试了 好吧,公平地说,你问了一个关于它是如何完成的问题。我相信您可以轻松编写 JavaScript 函数,因为它最多只有一两行。 我是 javascript 新手,我正在尝试但没有结果。希望你能写得更好,展示一个demo【参考方案2】:

这样您可以在鼠标悬停在超链接上时轻松隐藏 url。

只需在锚链接上添加一个 id。

HTML

<a href="url" id='no-link'>Hyperlink</a>

jQuery 代码

$(document).ready(function () 
      setTimeout(function () 

            $('a[href]#no-link').each(function () 
                var href = this.href;

                $(this).removeAttr('href').css('cursor', 'pointer').click(function () 
                    if (href.toLowerCase().indexOf("#") >= 0) 

                     else 
                        window.open(href, '_blank');
                    
                );
            );

      , 500);
);

这里是演示链接https://jsfiddle.net/vipul09so/Lcryjga5/

【讨论】:

您介意解释一下为什么需要setTimeout 吗? 尝试不使用 setTimeout。你意识到那里发生了什么。 没有setTimeout 和@vipulsorathiya 没有冒犯,但我的思想正在融化,因为你的if 条件。 :D @vipulsorathiya 哈哈哈!!嗯,如果优秀的开发人员在转换值 toLowerCase 后得到 indexOf 特殊字符并将他们的 if 条件留空,那么我作为一个非常糟糕的开发人员是很好的。 :D @RajnishCoder 有一些特殊的代码,但你看不到。 :(【参考方案3】:

您在技术上拥有window.status 来制作自定义状态栏消息。您可以在该元素的“onmouseover”事件期间设置它,并将window.status 设置为空白字符串.. 很久以前我们就是这样做的..

这些天的浏览器默认阻止修改状态栏(据我所知,firefox 阻止它)。所以不能保证这种方法会做任何事情。

【讨论】:

【参考方案4】:

&lt;button class="class" onclick="window.location.href='https://***.com'"&gt;Visit ***&lt;/button&gt;

&lt;button class="class" onclick="window.location.replace('https://***.com')"&gt;Visit ***&lt;/button&gt;

【讨论】:

【参考方案5】:

只需使用 onclick="location.href='#'"

【讨论】:

【参考方案6】:

只需从 a 元素中删除 href 属性。 :)

【讨论】:

以上是关于鼠标悬停时如何将url隐藏在超链接中的主要内容,如果未能解决你的问题,请参考以下文章

悬停时JQuery显示/隐藏

将鼠标悬停在模式链接上时隐藏浏览器状态栏上的链接

当我在 SVG 中将鼠标悬停时,如何显示和隐藏同级元素?

在jquery中快速悬停时不隐藏

将鼠标悬停在 iframe 上时如何显示文本

悬停时如何使链接具有戴手套的手鼠标[重复]