8
末在几乎所有的实例/模板脚本我能找到之前,我看到event.preventDefault();
在函数的结尾,就像这样:event.preventDefault()永远只是功能
$('.navbar-nav li a').bind('click', function(event) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1500, 'easeInOutExpo');
event.preventDefault();
});
从我的角度来看,这个想法是“立即停止默认行为,然后做什么,我们必须做的”,这样的:
$('.navbar-nav li a').bind('click', function(event) {
event.preventDefault();
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1500, 'easeInOutExpo');
});
所以我缺少什么?
'立即停止默认behavior'活动放在在队列中,所以这并没有区别把它放在处理程序的顶部或底部。但请参阅TrueBlueAussie的回答,如果由于某种原因想要停止传播,使用简写方式'return false;',通常将它置于底部更方便。这就是说,为了可读性,我总是把它放在顶端,但这是我自己的看法 –