相关疑难解决方法(0)

在没有页面滚动的情况下修改location.hash

我们有一些页面使用ajax来加载内容,并且在某些情况下我们需要深入链接到页面.而不是链接到"用户"并告诉人们点击"设置",能够将人们链接到user.aspx#settings是有帮助的

为了让人们能够为我们提供正确的部分链接(用于技术支持等),我已将其设置为在点击按钮时自动修改URL中的哈希值.唯一的问题当然是,当发生这种情况时,它还会将页面滚动到此元素.

有没有办法禁用它?以下是我到目前为止这样做的方法.

$(function(){
    //This emulates a click on the correct button on page load
    if(document.location.hash){
     $("#buttons li a").removeClass('selected');
     s=$(document.location.hash).addClass('selected').attr("href").replace("javascript:","");
     eval(s);
    }

    //Click a button to change the hash
    $("#buttons li a").click(function(){
            $("#buttons li a").removeClass('selected');
            $(this).addClass('selected');
            document.location.hash=$(this).attr("id")
            //return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

我曾希望return false;会阻止页面滚动 - 但它只会使链接无法正常工作.所以现在只是注释掉,所以我可以导航.

有任何想法吗?

javascript jquery fragment-identifier

143
推荐指数
3
解决办法
11万
查看次数

标签 统计

fragment-identifier ×1

javascript ×1

jquery ×1