Das haben ich und Tekromancr erfunden.
Beispielelement:
<a href="http://www.google.com" id="btn" type="button" class="btn btn-disabled" data-placement="top" data-toggle="tooltip" data-title="I'm a tooltip">Press Me</a>
Hinweis: Die Tooltip-Attribute können einem separaten Div hinzugefügt werden, in dem die ID dieses Div beim Aufrufen von .tooltip ('destroy') verwendet werden soll. oder .tooltip ();
Dadurch wird der Tooltip aktiviert und in ein beliebiges Javascript eingefügt, das in der HTML-Datei enthalten ist. Diese Zeile muss jedoch möglicherweise nicht hinzugefügt werden. (Wenn der Tooltip ohne diese Zeile angezeigt wird, müssen Sie ihn nicht einfügen.)
$("#element_id").tooltip();
zerstört den Tooltip, siehe unten für die Verwendung.
$("#element_id").tooltip('destroy');
verhindert, dass die Schaltfläche angeklickt werden kann. Da das Attribut disabled nicht verwendet wird, ist dies erforderlich. Andernfalls kann die Schaltfläche weiterhin angeklickt werden, obwohl sie so aussieht, als wäre sie deaktiviert.
$("#element_id").click(
function(evt){
if ($(this).hasClass("btn-disabled")) {
evt.preventDefault();
return false;
}
});
Mit Bootstrap stehen Ihnen die Klassen btn und btn-disabled zur Verfügung. Überschreiben Sie diese in Ihrer eigenen CSS-Datei. Sie können beliebige Farben hinzufügen oder wie auch immer die Schaltfläche aussehen soll, wenn sie deaktiviert ist. Stellen Sie sicher, dass Sie den Cursor beibehalten: default; Sie können auch ändern, wie .btn.btn-success aussieht.
.btn.btn-disabled{
cursor: default;
}
Fügen Sie den folgenden Code zu dem Javascript hinzu, das die Aktivierung der Schaltfläche steuert.
$("#element_id").removeClass('btn-disabled');
$("#element_id").addClass('btn-success');
$('#element_id).tooltip('destroy');
Der Tooltip sollte jetzt nur angezeigt werden, wenn die Schaltfläche deaktiviert ist.
Wenn Sie AngularJS verwenden, habe ich auch eine Lösung dafür, falls gewünscht.