2016-01-29 23 views
7

Sul mio sito ho alcuni pulsanti. Quando un utente fa clic sul pulsante, si apre una modale. Quando un utente passa il pulsante, viene mostrato un suggerimento.Bootstrap button tooltip hide on click

è l'uso di questo codice:

<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> 

Questo funziona, ma l'unico problema è che la descrizione comando rimane visibile dopo il pulsante viene premuto, e viene mostrato il modal. Non appena il modale è chiuso, il suggerimento è di nuovo nascosto.

Come evitare questo? Voglio solo che il tooltip sia mostrato al passaggio del mouse e non tutto il tempo in cui la modal correlata è visibile.

+0

use $ ('[rel = tooltip]'). Tooltip ('disable') nella funzione onclick –

risposta

19

Risolto utilizzando.

$(document).ready(function(){ 
    $('[rel=tooltip]').tooltip({ trigger: "hover" }); 
}); 

Il problema era che la messa a fuoco rimane sul pulsante quando la modale è aperta. La modifica del trigger su hover risolve il problema.

+1

Questo aiuta, ma ho ancora un problema simile con un suggerimento di attivazione e disattivazione. Su un pulsante con un menu a discesa, ho un suggerimento sul pulsante e quando lo fai clic, il menu a discesa mostra ma il suggerimento rimane visibile, tentato a $ ('corpo'). Fai clic su (nascondi tutti i suggerimenti) – Prof83

+0

Nice. Ha risolto il problema. – Ashis

0

Non utilizzare gli attributi dati di più plug-in sullo stesso elemento. Ad esempio, un pulsante non può avere entrambi un suggerimento e attivare una modale. Per fare ciò, usa un elemento di avvolgimento.

+0

Ho provato a racchiudere il pulsante con

e rimuovere il suggerimento dal pulsante stesso. Stesso effetto – Mbrouwer88

+0

Aggiungi 'data-toggle =" tooltip "' non utilizzare rel. – mokiSRB

+0

Mi dispiace, stesso effetto. Sembra che in qualche modo la "messa a fuoco" rimanga sul pulsante perché è stato cliccato Posso ancora vedere il "bagliore" attorno al pulsante sullo sfondo quando la modale è aperta. – Mbrouwer88

4

È necessario aprire manualmente il modale con una funzione su clic e nascondere manualmente il suggerimento tramite jquery. Quindi prendere la commutazione modale attributi fuori dal pulsante mi piace così:

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

e quindi aprire il modal con la propria funzione onclick jQuery così come nascondere il tooltip al tempo stesso in questo modo:

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

Ecco un violino per mostrarvi questo lavoro Fiddle

0

Se si desidera chiudere il tooltip prima di un'azione, può utilizzare questo:

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

Per esempio, voglio chiudere il tooltip prima modale aperta, qui il mio codice:

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

La spiegazione dovrebbe aiutare. – randominstanceOfLivingThing

+0

Mentre il codice fornito può risolvere il problema del querent, sarebbe più utile avere una spiegazione di cosa fa il codice e perché risolve il problema posto. Il codice senza spiegazione è meno utile per i querent futuri che cercano di risolvere problemi simili. –