Javascript 防止滚动到顶部--问题
好的,当我点击锚时,我试图阻止页面滚动到页面顶部 我以前做过很多次,但我不明白这次我错过了什么 请查看此代码:Javascript 防止滚动到顶部--问题,javascript,jquery,Javascript,Jquery,好的,当我点击锚时,我试图阻止页面滚动到页面顶部 我以前做过很多次,但我不明白这次我错过了什么 请查看此代码: $('#regionMapNav a').click(function(event){ event.preventDefault(); var i = $(this).attr("class"); var name = $(this).attr("id"); name = name.replace(/\s+/g, '');
$('#regionMapNav a').click(function(event){
event.preventDefault();
var i = $(this).attr("class");
var name = $(this).attr("id");
name = name.replace(/\s+/g, '');
if(i != 'active'){
$('.active').removeClass('active');
$(this).addClass('active');
$('.map').hide();
$('#' + name + 'Map').fadeIn(3000);
return false;
}
});
谢谢你的帮助
编辑
我继续创建了一个只需滚动到底部的hack,因为没有任何应该工作的东西在工作…我知道这不是最好的,但它工作…下面是代码,以防有人遇到同样的问题。请记住,我正在创建的项目位于页面底部。此外,此页面上还有一个动态加载的大标题。我认为我的问题与此有关,但我今天没有精力追溯我的错误
$('#regionMapNav a').click(function(event){
event.preventDefault();
var i = $(this).attr("class");
var name = $(this).attr("id");
name = name.replace(/\s+/g, '');
if(i != 'active'){
$('.active').removeClass('active');
$(this).addClass('active');
$('.map').hide();
$('#' + name + 'Map').fadeIn(3000);
window.scrollTo(0, document.body.scrollHeight);
return false;
}
});
添加一个
返回false代码>在if语句之外。它可能会在我不“活动”的链接上滚动到顶部。Hmm。。。这看起来应该行得通。你的HTML是什么样子的?我想问题是这个页面有一个动态添加的标题…我只想添加一个滚动到底部的处理程序,因为我知道这应该会起作用。链接的HREF是什么?当HREF指向“#”并且我绑定了单击事件时,我遇到了一些浏览器不遵守preventDefault()
的问题。尝试将HREF设置为“”。在我看来很不错;没有标记也很难复制。;-)在初始检查中,我看到的唯一一件事是,我认为您根本不需要返回false(无论是在if语句中还是在if语句外)。是否有可能有另一个插件(某种“滚动到”?)有一个绑定事件?也尝试过了,但没有成功。好主意。我发布了一个对我有用的hack,因为此映射位于页面底部。event.preventDefault()
应该已经在做防止传播的工作,通常建议不要返回false。我同意Greg的观点,使用event.preventDefault()。这将阻止链接和提交按钮等元素的默认操作。