QTip: показать всплывающую подсказку, когда элемент станет видимым

У меня есть подсказка qTip, прикрепленная к элементу на моей странице, чей родительский

скрыт (display: none). Я хочу показать всплывающую подсказку автоматически, когда родитель становится видимым (display: block). Возможно ли это?

Пример HTML:

<div id="parent" style="display: none;">
 <div id="child">Child Element</div>
</div>

JS:

$("#child").qtip();

Я попытался использовать параметр ready для автоматического запуска всплывающей подсказки:

$("#child").qtip({
 ready: true
});

Но это делает всплывающую подсказку немедленно, даже если родительский

скрыт.

qTip также предоставляет параметр when, в котором вы можете отображать всплывающую подсказку при возникновении определенного события, но это только принимает встроенные события jQuery. Я не могу найти способ определить свою собственную функцию и показать всплывающую подсказку, если значение display родительского

равно block.
2 ответа

Вы можете использовать пользовательское событие,

$("#child").qtip({
 show: { when: { target: $("#child").parent(), event: "showevent" } }
});
$("#parent").show().trigger("showevent");

http://craigsworks.com/projects/qtip/docs/reference/


Похоже, вам просто нужно просто вызвать qtip() в том же месте, где вы запускаете, чтобы показать родителя (как бы вы это ни делали).

$('#whatever').on('click', function () { // just as an example
 $('#parent').show();
 $('#child').qtip();
});

licensed under cc by-sa 3.0 with attribution.