Я пытаюсь добиться следующего, не могу понять, как это сделать. У меня есть несколько подсказок на странице, но я хочу, чтобы каждый из них выглядел по-другому (в зависимости от серьезности, например). Вот то, что я до сих пор:Как изменить цвет всплывающей подсказки при открытии с помощью 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);
}
});
}
}
Все, что у меня есть в создания: работает, но это только называется на странице загрузки, так что не делает мне ничего хорошего. Итак, теперь я пытаюсь переместить это событие open:
. Но это, похоже, не работает вообще. jQuery(this)
не возвращает наведенный элемент, он возвращает контейнер. Как я могу получить правильный элемент для выбора атрибута данных? И как я могу изменить класс CSS? Кто-нибудь знает, как это можно достичь?
Попробуйте 'вар элемент = ui.tooltip;'. – mccannf