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

来源:3-6 选项卡--JavaScript触发方法

web小菜

2016-11-22 15:14

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

写回答 关注

4回答

  • _Rock
    2017-03-31 11:38:46
    已采纳

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

    web小菜

    非常感谢!

    2017-04-11 17:35:48

    共 1 条回复 >

  • 好吃的蛋包饭
    2018-08-30 17:27:08

    前面在答什么啊??

    阻止冒泡是event.stopPropagation()。

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

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

    叶南南

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

    2019-04-19 10:35:46

    共 1 条回复 >

  • 八爪喵
    2017-11-17 02:30:51

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

  • 慕函数2875462
    2016-11-22 22:43:08

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

    web小菜

    事件冒泡?什么意思

    2016-11-23 09:09:22

    共 1 条回复 >

玩转Bootstrap(JS插件篇)

带领大家学习怎么使用JS自由控制Bootstrap中提供的组件

128653 学习 · 296 问题

查看课程

相似问题