2016-12-12 8 views
0

У меня есть вкладка навигации bootstrap с 4 ссылками (Заявитель, Охваты, Места, Премиум). У меня есть событие jquery click on Coverages для проверки данных Заявителя. Если не удалось, дисплей sweetalert и остаться на вкладке Претендента:SweetAlert с вкладками Navstart Bootstrap

$('#CoveragesTab').off('click').on('click', function (event) { 
    SaveApplicantTabData(function (retVal) { 
     if ("success" == retVal.status) { 
     } 
     else if ("failed" == retVal.status) { 
      event.stopImmediatePropagation(); 
      swal(retVal.message, "Applicant Error", "error"); 
      //alerta(retVal.message); 
      return false; 
     } 
     else if ("error" == retVal.status) { 
      event.stopImmediatePropagation(); 
      alert(retVal.message); 
      return false; 
     } 
    }); 
}); 

Функционально, это прекрасно работает, но ссылка Покрытия выглядит она по-прежнему имеет фокус - вся площадь лепестка выделена так же, как парит над вкладку. У него нет фокуса. Я проверил с помощью инструментов разработчика, и активная ссылка верна, а также другие значения.

Как удалить сфокусированный взгляд со вкладки?

спасибо.

ответ

0

Вы можете добавить blur() метод к вашему Coverages нав вкладку ссылки при failes проверки:

$('#CoveragesTab').off('click').on('click', function (event) { 
    SaveApplicantTabData(function (retVal) { 
     if ("success" == retVal.status) { 
     } 
     else if ("failed" == retVal.status) { 
      event.stopImmediatePropagation(); 
      swal(retVal.message, "Applicant Error", "error"); 
      //alerta(retVal.message); 
      $(this).blur(); 
      return false; 
     } 
     else if ("error" == retVal.status) { 
      event.stopImmediatePropagation(); 
      alert(retVal.message); 
      return false; 
     } 
    }); 
}); 
+0

Это не сработало. Я также пробовал $ (this) .focus(). Не повезло. Но спасибо! – FirstByte

+0

Это сработало для меня, я попробовал этот yestreday. – makshh

+0

Я также просто попробовал $ ("# ApplicantLink"). AddClass ('active'); – FirstByte

0

После многих проб и ошибок, я, наконец, понял это. Мне нужно использовать как event.stopImmediatePropogation, так и .blur().

$('#CoveragesTab').off('click').on('click', function (event) { 
    SaveApplicantTabData(function (retVal) { 
     if ("success" == retVal.status) { 
     } 
     else if ("failed" == retVal.status) { 
      event.stopImmediatePropagation(); 
      $('#CoveragesTab').blur(); 
      swal(retVal.message, "Applicant Error", "error"); 
      return false; 
     } 
     else if ("error" == retVal.status) { 
      event.stopImmediatePropagation(); 
      alert(retVal.message); 
      return false; 
     } 
    }); 
}); 

Единственное, что при использовании stoppropogation, он оставляет HREF как часть URL:

http://localhost:3858/CreateQuote/EditQuote/1#coverages-tab 

Так я должен лишить кавычки идентификатор из URL.

Кто-нибудь знает, как это избежать?

спасибо.