首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >禁用指向同一页面的链接

禁用指向同一页面的链接
EN

Stack Overflow用户
提问于 2013-01-18 08:34:23
回答 4查看 822关注 0票数 0

我正在寻找关于如何禁用链接的最佳实践,该链接将重定向到与jquery/ jquerymobile相同的页面。

例如,如果我在主页上,有一个指向主页的链接,它甚至不应该刷新页面。

我的链接代码:

代码语言:javascript
复制
<a href="Homepage.aspx" rel="external">Home</a>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-18 08:46:20

我对jquery/jquery mobile还不够熟悉,不知道这是否是最佳实践,但它应该可以工作。

代码语言:javascript
复制
$("a").each(function(){
   if(window.location.href==this.href)
     this.onclick=function(){return false};
});
票数 1
EN

Stack Overflow用户

发布于 2013-01-18 08:45:54

完全未经测试,但这取决于您的代码是如何编写的。

代码语言:javascript
复制
$('a').each(function(){
    if($(this).attr('href') === window.location.pathname) 
        $(this).removeAttr('href');
        // Alternatively: $(this).attr('href','#');
});
票数 1
EN

Stack Overflow用户

发布于 2013-01-18 08:49:45

您可以使用window.location.href解析当前的URL并提取页面名称

然后,可以对每个链接进行迭代,并附加与当前页面值具有相同href值的链接的行为

代码语言:javascript
复制
var currentPage = ....// extract the page from window.location.href

$('a').each(function(index, element) {

    var currentA = $(this);
    if (currentA.attr('href') == currentPage) {
        // Append a listener on the click event that will return false
        // and stop the default behaviour
        currentA.on('click', false);
    }

});

注意:将false设置为处理函数与创建返回false的匿名函数相同,也与创建调用event.stopPropoagation()event.preventDefault()的函数相同

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14390666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档