Sto cercando di ottenere quanto segue, non riesco a capire come. Ho diverse descrizioni di comandi su una pagina, ma voglio che ognuna appaia diversa (a seconda della gravità, ad esempio). Ecco quello che ho finora:Come cambiare il colore del tooltip all'apertura usando la descrizione comandi dell'interfaccia utente jQuery?
<div id="container">
<a href="#" title="Tooltip 1" data-severity="warning">Tooltip 1 (Warning)</a>
<a href="#" title="Tooltip 2" data-severity="danger">Tooltip 2 (Danger)</a>
</div>
<script type="text/javascript">
// init tooltip
ArrowToolTip.init('container');
</script>
/*JAVASCRIPT*/
var ArrowToolTip = {
init: function (parentId) {
jQuery('#' + parentId).tooltip(
{
content: function() {
var element = jQuery(this);
return element.attr('title');
},
create: function() {
var element = jQuery(this);
var severity = element.data('severity');
if (!severity) {
severity = 'default';
}
element.tooltip('option', 'tooltipClass', severity);
},
open: function(event, ui) {
var element = jQuery(this);
var severity = element.data('severity');
ui.tooltip({
tooltipClass: severity
});
//ui.tooltip.tooltipClass(severity);
console.log(event);
console.log(ui);
}
});
}
}
Qualunque cosa ho in CREATE: opere, ma si chiama solo al caricamento della pagina, in modo che non fa di me nulla di buono. Così ora sto provando a spostare questo all'evento open:
. Ma non sembra funzionare affatto. Lo jQuery(this)
non restituisce l'elemento al passaggio del mouse, restituisce il contenitore. Come posso ottenere l'elemento corretto per selezionare l'attributo dei dati? E come posso cambiare la classe CSS? Qualcuno sa come questo potrebbe essere raggiunto?
Prova 'elemento var = ui.tooltip;'. – mccannf