Próbuję osiągnąć następujące, nie mogę dowiedzieć się jak. Mam kilka etykiet narzędzi na stronie, ale chcę, aby każdy wyglądał inaczej (w zależności od wagi na przykład). Oto co mam do tej pory:Jak zmienić kolor podpowiedzi na otwartej przy użyciu etykiety jQuery UI?
<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);
}
});
}
}
Cokolwiek mam w Create: działa, ale to się nazywa tylko na stronie obciążenia, tak, że nie robi mi jakieś dobre. Teraz próbuję przenieść to do zdarzenia open:
. Ale to w ogóle nie działa. jQuery(this)
nie zwraca zwisającego elementu, zwraca kontener. Jak mogę uzyskać prawidłowy element, aby wybrać atrybut danych? I jak mogę zmienić klasę CSS? Czy ktoś wie, jak można to osiągnąć?
Spróbuj 'elementu var = ui.tooltip;'. – mccannf