Ich versuche, das Folgende zu erreichen, kann nicht herausfinden, wie es ist. Ich habe mehrere QuickInfos auf einer Seite, aber ich möchte, dass jeder anders aussieht (je nach Schweregrad zum Beispiel). Hier ist, was habe ich bisher:Wie ändert man Tooltip-Farbe beim Öffnen mit jQuery UI Tooltip?
<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);
}
});
}
}
Was auch immer ich in den erstellen: Werke, aber es ist nur beim Laden der Seite aufgerufen, so dass mich nicht tun etwas Gutes. So, jetzt versuche ich, dies zum open:
Ereignis zu bewegen. Aber das scheint überhaupt nicht zu funktionieren. Die jQuery(this)
gibt das Element hovered nicht zurück, es gibt den Container zurück. Wie kann ich das richtige Element zum Auswählen des Datenattributs erhalten? Und wie kann ich dann die CSS-Klasse ändern? Weiß jemand, wie das erreicht werden könnte?
Versuchen 'var element = ui.tooltip;'. – mccannf