e.preventDefault();与 return false;的功能是一致的吗?

来源:3-1 tab切换综合示例

weixin_慕仰4083625

2020-02-13 20:02:03

$(".tabs a").click(function(e){
    e.preventDefault();
    var index = $(this).index();
    $(".tabs a").removeClass("active");
    $(this).addClass("active");
    swiper.swipeTo(index);
    return false;
});
这两句语句功能是一致的吗?二者写一个就行了吗?
还有这个案例为什么我第一次打开页面就不能滑动页面呢,要刷新之后效果才能实现?


写回答

1回答

好帮手慕夭夭

2020-02-14

同学你好,问题解答如下:

1.e.preventDefault()是阻止默认行为。return false除了阻止默认行为之外,还会阻止事件冒泡。当然了,如何使用需要具体情况具体分析。

同学的这段代码中,给a绑定了事件,且a有自己的默认行为。所以当点击a时,a的默认行为就会立马触发,虽然return false也可以阻止默认行为,但是放在最后,a的默认行为还是会触发。所以在最前面先使用了e.preventDefault() 。具体要不要使用return false ,因为没有同学完整的代码,建议自己去分析一下,如果不需要阻止冒泡,也可以不使用。

2. 老师测试源码是可以滑动的,不需要刷新。建议同学先自行下载源码自己排查一下是否有问题,提升自己独立解决问题的能力。如果有疑问 ,请把自己写的所有代码都粘贴到问答区,以便老师为你测试查找问题。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~


0

0 学习 · 6815 问题

查看课程