我们有几个页面使用 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;
});
});
我曾希望这return false;
会阻止页面滚动 - 但它只会使链接根本不起作用。所以现在只是注释掉,所以我可以导航。
有任何想法吗?