Javascript 如何防止选项卡更改

Javascript 如何防止选项卡更改,javascript,twitter-bootstrap,asp.net-mvc-4,nav,preventdefault,Javascript,Twitter Bootstrap,Asp.net Mvc 4,Nav,Preventdefault,我能够进入函数,它调用了prevent,我返回false,但是选项卡仍然切换?你知道我做错了什么吗 <ul class="nav nav-tabs" id="templateActionTab"> <li id="menuTemplateTab" class="active"><a data-toggle="tab" href="#templateTab">Template</a></li> <li i

我能够进入函数,它调用了prevent,我返回false,但是选项卡仍然切换?你知道我做错了什么吗

<ul class="nav nav-tabs" id="templateActionTab">
       <li id="menuTemplateTab" class="active"><a data-toggle="tab" href="#templateTab">Template</a></li>
       <li id="menuAction"><a data-toggle="tab" href="#actionTab">Action</a></li>
       <li id="menuScheduler"><a data-toggle="tab" href="#schedulerTab">Scheduler</a></li>
</ul>


$(document).on('shown.bs.tab', 'a[data-toggle="tab"]', function (event) {


  var isValidationValid = templateInstance.validateScreen();

  if(isValidationValid)
  {
    localStorage.setItem('activeTab', $(event.target).attr('href'));
    $(event.target).attr("href");
    return true;
  }
  else
  {

    event.preventDefault();
    return false;

  }


});
$(document).on('show.bs.tab','a[data toggle=“tab”]”,函数(事件){ var isValidationValid=templateInstance.validateScreen(); if(isValidationValid) { localStorage.setItem('activeTab',$(event.target.attr('href')); $(event.target).attr(“href”); 返回true; } 其他的 { event.preventDefault(); 返回false; } });
好吧,真是太蠢了,我用show代替show,现在它可以工作了

 $(document).on('show.bs.tab', 'a[data-toggle="tab"]', function (event) {

        debugger;
        var isValidationValid = templateInstance.validateScreen();

        if(isValidationValid)
        {
            localStorage.setItem('activeTab', $(event.target).attr('href'));
            $(event.target).attr("href");
            return true;
        }
        else {

            event.preventDefault();
              return false;

        }


    });

它是否与您的问题有关:一般来说,阻止默认值是不够的,但您返回false。。。因此,您可以同时添加event.stopPropagation进行测试和/或删除preventDefault()吗