2016-01-29 17 views
7

Auf meiner Website habe ich einige Tasten. Wenn ein Benutzer auf die Schaltfläche klickt, wird ein Modal geöffnet. Wenn ein Benutzer die Schaltfläche bewegt, wird eine QuickInfo angezeigt.Bootstrap-Taste Tooltip ausblenden bei Klick

Ist diesen Code verwenden:

<button type="button" rel="tooltip" title="Tooltip content" class="btn btn-sm btn-default" data-toggle="modal" data-target="#DeleteUserModal"> 
    <span class="glyphicon glyphicon-remove"></span> 
</button> 

<div>modal</div> 

<script> 
$(document).ready(function(){ 
    $('[rel="tooltip"]').tooltip(); 
}); 
</script> 

Dies funktioniert, aber das Problem ist nur, dass der Tooltip sichtbar bleibt, nachdem die Schaltfläche geklickt wird, und die modale dargestellt ist. Sobald das Modal geschlossen ist, wird der Tooltip wieder ausgeblendet.

Wie kann dies verhindert werden? Ich möchte nur, dass der Tooltip beim Schweben angezeigt wird und nicht immer wenn das zugehörige Modal sichtbar ist.

+0

Verwenden Sie $ ('[rel = tooltip]'). Tooltip ('disable') in Ihrer Onclick-Funktion –

Antwort

19

Es wurde behoben mit.

Das Problem war, dass der Fokus auf der Schaltfläche bleibt, wenn das Modal geöffnet ist. Durch Ändern des Auslösers in den Schwebeflug wird das Problem gelöst.

+1

Das hilft, aber ich habe immer noch ein ähnliches Problem mit einem Dropdown-Tooltip. Auf einer Schaltfläche mit einem Dropdown-Menü habe ich einen Tooltip auf der Schaltfläche und wenn Sie darauf klicken, wird das Dropdown angezeigt, aber die Tooltip bleibt sichtbar, versucht zu $ ​​('body'). (Alle Tooltips ausblenden) – Prof83

+0

Nice. Es hat das Problem gelöst. – Ashis

0

Verwenden Sie keine Datenattribute von mehreren Plugins für dasselbe Element. Zum Beispiel kann eine Schaltfläche nicht beide einen Tooltip haben und ein Modal umschalten. Verwenden Sie dazu ein Umbruchelement.

+0

Ich habe versucht, die Schaltfläche mit

umwickeln und den Tooltip aus der Schaltfläche selbst entfernen. Gleicher Effekt. – Mbrouwer88

+0

Hinzufügen 'data-toggle =" tooltip "' nicht rel. – mokiSRB

+0

Entschuldigung, gleicher Effekt. Es scheint so, als ob der "Fokus" auf dem Knopf bleibt, weil er angeklickt wurde. Ich kann immer noch das "Glühen" um den Knopf im Hintergrund sehen, wenn das Modal geöffnet ist. – Mbrouwer88

4

Sie sollten das Modal manuell mit einer On-Click-Funktion öffnen und den Tooltip manuell über jquery ausblenden. So nehmen Sie die modalen Makel aus der Schaltfläche Attribute wie so:

<button type="button" rel="tooltip" title="Tooltip content" class="btn btn-sm btn-default"> 
    <span class="glyphicon glyphicon-remove"></span> 
</button> 

und öffnen Sie dann die modal mit Ihrer eigenen Jquery Onclick-Funktion sowie die Tooltip zugleich verbergen wie so:

$(document).ready(function(){ 
    $('[rel="tooltip"]').tooltip(); 
    $('[rel="tooltip').on('click', function() { 
    $(this).tooltip('hide'); 
    $("#DeleteUserModal").modal(); 
    }); 
}); 

Hier ist eine Geige, um Ihnen diese Funktion zu zeigen Fiddle

0

Wenn Sie den Tooltip, bevor eine Aktion schließen möchten, können dies nutzen:

$('[data-toggle="tooltip"]').tooltip("hide"); 

Zum Beispiel möchte ich den Tooltip schließen, bevor offenen modale, hier mein Code:

function OpenModal() { 
    $('[data-toggle="tooltip"]').tooltip("hide"); 
    $("#myModal").modal(); 
} 
0
$(document).ready(function(){ 
    $('[data-toggle="tooltip"]').tooltip({ trigger: "hover" }); 
}); 
+0

Erklärung sollte helfen. – randominstanceOfLivingThing

+0

Während der angegebene Code das Problem des Fragestellers lösen könnte, wäre es hilfreicher, eine Erklärung zu haben, was der Code tut und warum er das Problem löst. Code ohne Erklärung ist für zukünftige Fragen, die ähnliche Probleme lösen wollen, weniger nützlich. –