0

我能夠進入它稱爲防止的功能,並且返回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; 

    } 


}); 
+0

這是否與您的問題:http://stackoverflow.com/questions/1357118/ event-preventdefault-vs-return-false – laser

+0

通常情況下,防止默認是不夠的,但你返回false ...這樣做兩個... – laser

+0

你可以添加event.stopPropagation用於測試目的和/或刪除preventDefault() – laser

回答

0

好吧,這是我使用的顯示,而不是顯示現在它正在真的傻了

$(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; 

     } 


    });