繁体   English   中英

如何使用javascript或jquery隐藏悬停时的图像路径

[英]How can i hide the image path on hover using javascript or jquery

任何知道答案的人请给我建议这样做。 我正在使用mozilla firefox浏览器,当我悬停图像时,我得到它所在位置的url路径(mozilla的左下角)以下是截图: 在此输入图像描述

是否可以隐藏href路径。 任何建议都会很棒。

假设状态栏显示href目标,您可以删除href属性onload并调用window.location onclick:(jQuery):

$(function() {
    $('a[href]').each(function() {
        var href = this.href;
        $(this).removeAttr('href').css('cursor','pointer').click(function() {
            window.location = href;
        });
    });
});

请注意,我添加了cursor:pointer使其即使没有href属性也能像链接一样工作。 移动网站上经常使用相同的技术,以防止移动safari在浏览ajax时降低其地址栏。

另一个更笨拙的方法是在锚点上添加占位符div,抓取锚点的href并使用window.location onclick进行导航。

无论哪种方式,在源或控制台中快速查看都会显示目的地。

我想如果你删除href属性,并添加onClick =“location('你的网址')”它将隐藏href路径。 例如:

<script>
function changeLocation(url){
   window.location.assign(url);
}
</script>
<a onClick = "changeLocation('http://www.w3schools.com')">Link</a>

您可以通过调用在浏览器中打开图像URL的click方法(存储在data-href而不是href url)来执行此操作:

http://jsfiddle.net/mattydsw/TYSnB/

<a data-href="http://somewhere.com">new</a>

$('a[data-href]').on('click', function(e) {
    e.preventDefault();
    window.location.href = $(this).data('href');
});

编辑

但是其余的“标准”行为也将丢失,例如在新标签中打开,复制链接,搜索引擎爬行。

我看到你已经有了一个答案,但是如果你想在新的弹出/窗口中打开点击那么它没关系,但是如果你想在同一页面打开那么会发生什么? 如果你有使用母版页和点击链接这样的新页面加载内容占位区域比发生什么?

如果你愿意,我有一个解决方案。

我们可以在global.asax页面中使用system.webrouting.routecollection隐藏全部或任何页面,参见下面的示例:

void Application_Start(object sender, EventArgs e)
    {      
        RegisterRoutes(System.Web.Routing.RouteTable.Routes);
    }

void RegisterRoutes(System.Web.Routing.RouteCollection routes)
    {
        routes.Clear();
        routes.MapPageRoute("page1", "dir1/{country}/{State}", "~/page1.aspx");
}

这会对你有所帮助。

<a onclick="window.open('http://whatever', '_self');"><img bla bla bla ></a>

编辑:请注意,它可能不适合参考,因为这不是一种自然的链接方式,机器人不会抓取它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM