为了账号安全,请及时绑定邮箱和手机立即绑定
关注
web小菜

看下面函数,e.preventDefault();这个是什么意思 ,为什么要加这个呢?不加这个也可以运行!

$(function(){
   $("#myTab a").click(function(e){
       e.preventDefault();
       $(this).tab("show");
   });
})

2016-11-22 源自:玩转Bootstrap(JS插件篇) 3-6 9334 浏览 4 回答

最佳回答

2017-03-31

事件冒泡:例如这样一个结构 :<li><a></a></li>,假如你在a标签上绑定了一个点击click事件,如:$("a").click(function(){alert("a"); }); 还在li标签上绑定了一个事件,如:$("li").click(function(){alert("li"); });  如果不加e.preventDefault();这一语句,结果会在alert("a");执行后再次执行alert("li")语句,因为a标签在li标签中,a标签在li标签范围中,在执行a标签上的事件后会执行li标签上的相同类型事件,从内层标签往外层依次执行相同类型事件,从里面往外面,此为冒泡。

回复 3

web小菜 (提问者)

非常感谢!

#1 2017-04-11 回复

前面在答什么啊??

阻止冒泡是event.stopPropagation()。

event.preventDefault()是阻止默认行为啊!!

a元素的默认行为点击会跳转

2018-08-30
回复 4

叶南南

这才是正解,组织a标签的默认跳转行为。

#1 2019-04-19 回复

意思是加上他  这个事件不会被污染  li标签里面的方法不会执行  只执行a标签绑定的事件

2017-11-17
回复 1

e.preventDefault();阻止事件冒泡,这是因为你冒泡的路径上没有其他的click事件。如果有就会触发

2016-11-22
回复 0

web小菜 (提问者)

事件冒泡?什么意思

#1 2016-11-23 回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信