2016-12-12 4 views
0

ich eine Bootstrap-nav Register mit 4 Links haben (Antragsteller, Coverages, Standorte, Premium). Ich habe ein jquery click-Ereignis auf Coverages, um die Bewerberdaten zu validieren. Wenn Display sweetalert ausgefallen und bleibt auf den Antragsteller Registerkarte:SweetAlert mit Bootstrap nav Tabs

$('#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; 
     } 
    }); 
}); 

Funktionell, das funktioniert perfekt, aber der Coverages Link sieht aus wie es noch den Fokus hat - der ganze Platz des Registerkarte hervorgehoben wird, um das gleiche wie schwebend über eine Registerkarte. Es hat nicht den Fokus. Ich habe mit den Entwicklertools überprüft und der aktive Link sowie andere Werte sind korrekt.

Wie kann ich den fokussierten Blick aus dem Register entfernen?

Vielen Dank.

Antwort

0

Sie können blur() Methode auf Ihre Coverages nav Registerkarte Link, wenn die Überprüfung failes hinzufügen:

$('#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

Das hat nicht funktioniert. Ich habe auch $ (this) .focus() ausprobiert. Kein Glück. Aber danke! – FirstByte

+0

Es hat für mich geklappt, ich habe es dieses Jahr versucht. – makshh

+0

Ich habe auch gerade versucht $ ("# ApplicantLink"). AddClass ('active'); – FirstByte

0

Nach viel Versuch und Irrtum, ich dachte, es endlich heraus. Ich muss sowohl event.stopImmediatePropogation als auch .blur() verwenden.

$('#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; 
     } 
    }); 
}); 

Die einzige Sache ist, dass, wenn Sie stoppropogation verwenden, ist es das href als Teil der URL lässt:

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

Also muss ich aus der URL das Zitat id abzustreifen.

Wer weiß, wie dies zu verhindern, geschieht?

Vielen Dank.