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. 老师测试源码是可以滑动的,不需要刷新。建议同学先自行下载源码自己排查一下是否有问题,提升自己独立解决问题的能力。如果有疑问 ,请把自己写的所有代码都粘贴到问答区,以便老师为你测试查找问题。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题
回答 1