问答详情
源自:3-6 选项卡--JavaScript触发方法

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

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

提问者:web小菜 2016-11-22 15:14

个回答

  • _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标签上的相同类型事件,从内层标签往外层依次执行相同类型事件,从里面往外面,此为冒泡。

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

    前面在答什么啊??

    阻止冒泡是event.stopPropagation()。

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

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

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

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

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

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