我有一个带有导航的一页网站,允许用户滚动到页面的不同部分。当用户点击链接时,url中的散列也会改变,当用户滚动页面时,散列也会改变。我遇到的唯一问题是,如果用户在顶部单击链接转到页脚,哈希会随着跳过不同的部分而改变,从而在最终到达页脚之前快速突出显示具有选定状态的导航链接。有没有办法在页面滚动到页脚时禁用hashchange功能?
$(window).on('hashchange', function(){
var id = window.location.hash.substring(1);
$('#header ul li').removeClass('selected');
$('[data-rel="'+id+'"]').addClass('selected');
});发布于 2013-05-08 16:58:55
所以你应该使用
$('a').click(function (e) {
e.preventDefault();
}然后运行你自己的代码。如果我理解正确的话,这应该是可行的吧?
http://jsfiddle.net/FnfgJ/1/
发布于 2013-05-08 16:21:05
你的回答是否定的。如果用户想要更改url的哈希,他将始终能够做到。您可以做的是禁用所有链接:
$('a').click(function () { return false; }); // disables
$('a').unbind('click'); // enables them againhttps://stackoverflow.com/questions/16435721
复制相似问题