当前位置:  开发笔记 > 编程语言 > 正文

event.preventDefault()总是在函数结束之前

如何解决《event.preventDefault()总是在函数结束之前》经验,为你挑选了1个好方法。

在我能找到的几乎所有示例/模板脚本中,我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');
});

那我错过了什么?



1> Gone Coding..:

它在所示的两个具体例子中没有区别.把它放在你喜欢的地方:)

最终获得它的通常原因是当它取代时return false;,通常是返回必须的地方.return falsee.preventDefault() 两者的捷径e.stopPropagation().

另外要记住的是当你需要有条件地阻止它时,在这种情况下,它preventDefault()会在中间(if等等):)

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有