var app = angular.module('plunker', ['ui.bootstrap']);

app.controller('MainCtrl', function($scope, $location) {
  $scope.ignoreTabChange = true;
  $scope.handleTabDeselect = handleTabDeselect;
  $scope.handleTabSelect = handleTabSelect;
  $scope.handleTabClick = handleTabClick;
  $scope.handleDisableTabTwoClick = handleDisableTabTwoClick;
  $scope.setTabOneDisabled = false;
  $scope.setTabTwoDisabled = false;
  $scope.activate = activate;
  
  activate();
  
  ///////////////////////
  function activate(){
    console.log('--- Activating MainCtrl ---');
  }
  
  function handleTabDeselect(tab){
    console.log('handleTabDeselect Tab: ' +tab);
    
    if($scope.ignoreTabChange){
      var answer = false;//confirm('Unsaved changes in tab, do you want to continue?');
      
      if(!answer){
        console.log(' * Should ignore tab change');
        if(tab === 'TabTwo'){
          $scope.setTabTwoDisabled = false;
          $scope.setTabOneDisabled = true;
        }else{
          $scope.setTabOneDisabled = false;
          $scope.setTabTwoDisabled = true;
        }
      }
      
    }
  }
  
  function handleTabSelect(tab){
    console.log('handleTabSelect Tab: ' +tab);
  }

  function handleTabClick($event){
    console.log('handleTabClick');
    $event.preventDefault();
    $event.stopImmediatePropagation();
  }
  
  function handleDisableTabTwoClick(){
    $scope.setTabTwoDisabled = true;
  }

});
<!DOCTYPE html>
<html ng-app="plunker">

<head>
  <meta charset="utf-8" />
  <title>AngularJS Plunker</title>
  <link data-require="bootstrap-css@3.1.*" data-semver="3.1.1" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" />
  <link data-require="bootstrap@*" data-semver="3.3.1" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
  <script>
    document.write('<base href="' + document.location + '" />');
  </script>
  <link rel="stylesheet" href="style.css" />
  <script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.13/angular.js" data-semver="1.3.13"></script>
  <script data-require="jquery@*" data-semver="2.1.3" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
  <script data-require="bootstrap@*" data-semver="3.3.1" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
  <script data-require="ui-bootstrap@0.12.0" data-semver="0.12.0" src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.0.min.js"></script>
  <script src="app.js"></script>
</head>

<body ng-controller="MainCtrl">
  <form class="form-inline" role="form">
    <div class="checkbox">
      <label>
        <input type="checkbox" ng-model="ignoreTabChange" />Ignore tab change</label>
    </div>
    <button class="btn btn-default" ng-click="handleDisableTabTwoClick()">Disable TabTwo</button>
  </form>
  <div class="content">
    <div class="col-md-12">
      <tabset justified="false">
        <tab heading="Tab One" deselect="handleTabDeselect('TabOne')" select="handleTabSelect('TabOne')" disabled="setTabOneDisabled"></tab>
        <tab heading="Tab Two" deselect="handleTabDeselect('TabTwo')" select="handleTabSelect('TabTwo')" ng-click="handleTabClick($event)" disabled="setTabTwoDisabled"></tab>
      </tabset>
    </div>
  </div>
</body>

</html>
/* Put your css in here */