为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

4 回答

事件冒泡:例如这样一个结构 :<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标签上的相同类型事件,从内层标签往外层依次执行相同类型事件,从里面往外面,此为冒泡。

4 回复 有任何疑惑可以回复我~
#1

web小菜 提问者

非常感谢!
2017-04-11 回复 有任何疑惑可以回复我~

前面在答什么啊??

阻止冒泡是event.stopPropagation()。

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

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

6 回复 有任何疑惑可以回复我~
#1

叶南南

这才是正解,组织a标签的默认跳转行为。
2019-04-19 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

web小菜 提问者

事件冒泡?什么意思
2016-11-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信