在没有页面滚动的情况下修改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; });});
我曾希望return false;
会阻止页面滚动 - 但它只会使链接无法正常工作。所以现在只是注释掉,所以我可以导航。
有任何想法吗?
慕后森
白板的微信
慕侠2389804
相关分类