0

Ich bin in der Lage, in die Funktion zu gelangen, nennt es die Verhinderung und ich gebe falsch zurück, aber die Registerkarte schaltet noch? Irgendwelche Ideen, was ich falsch mache?Wie kann ich verhindern, dass die Registerkarte geändert wird

<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

Ist es zu einem Problem im Zusammenhang: http://stackoverflow.com/questions/1357118/ event-prefixdefault-vs-return-false – laser

+0

Im Allgemeinen verhindern Standard ist nicht genug, aber Sie geben false zurück ... so tun beide ... – laser

+0

Können Sie event.stopPropagation für Testzwecke hinzufügen und/oder preventDefault() löschen – laser

Antwort

0

Ok es wirklich dumm war, pflegte ich jetzt statt Show gezeigt, dass es funktioniert ...

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

     } 


    }); 
Verwandte Themen