2012-11-05 15 views

risposta

36

Un po 'più corta:

$(".selector").tooltip().off("mouseover mouseout");

+13

+1 ha funzionato per quello di cui avevo bisogno, al contrario, li volevo solo sul mouse, non mettere a fuoco: $ (ele ment) .tooltip(). off ("focusin focusout"); – eselk

+1

Un add-on per la risposta: '.off (" mouseover mouseout ");' disabilita tutti gli eventi di over/out del mouse. Se li stai usando, saranno anche loro non vincenti. Per essere sicuri di fare 'off' su quelli del tooltip, fai come segue:' $ (". Selector"). Tooltip(); var tooltipInstanceNamespace = $ (". selector"). tooltip ("instance"). eventNamespace; $ (". selector"). off ('mouseover' + tooltipInstanceNamespace 'mouseout' + tooltipInstanceNamespace); 'Disattiva solo gli ascoltatori con lo spazio dei nomi dell'istanza del tooltip. – RaphaelDDL

12

Questo non è l'ideale, ma dovrebbe funzionare:

$(".selector").tooltip({ 
    disabled: true 
}).on("focusin", function() { 
    $(this) 
     .tooltip("enable") 
     .tooltip("open"); 
}).on("focusout", function() { 
    $(this) 
     .tooltip("close") 
     .tooltip("disable"); 
}); 

In sostanza, attivare/aprire il tooltip su focusin e disabilitare/chiudere in focusout.

Esempio: modohttp://jsfiddle.net/WmRuN/

+0

ho sospettato qualcosa di simile sarebbe Grazie. –

+2

Inoltre, un problema a cui non ho pensato, è che il browser inserisce i titoli standard al passaggio del mouse. :( –

Problemi correlati