Прежде всего, извините, ребята, что разместили вопрос здесь. Форум поддержки кажется почти мертвым.
Итак, я столкнулся с ошибкой в плагине qtip или в моем коде. Когда я вызываю .qtip('hide')
два или более раз подряд, всплывающая подсказка будет скрыта и больше не будет отображаться при вызове .qtip('show')
.
Способ размножения:
el.qtip('hide');el.qtip('hide');el.qtip('show'); \\ -> bug, the tip is not shown
el.qtip('hide');el.qtip('hide');el.qtip('hide');el.qtip('show'); \\ -> bug, same
Последовательный show
хорошо работает ...
el.qtip('show');el.qtip('show');el.qtip('hide');el.qtip('show'); \\ -> pass
Непоследовательный hide
также хорошо работает:
el.qtip('hide');el.qtip('show');el.qtip('hide');el.qtip('show'); \\ -> pass
Вопрос:
Как заставить вещи работать? API qTip не дает мне способа узнать, скрыт или показан подсказка. Как я могу это знать? Я могу проверить, скрыт ли qTip, чтобы не скрывать его дважды.
Возможный источник проблемы:
Qtip, вызывающий ошибки, построен довольно хитрым способом:
qtip({
content: text,
position: {
corner: {
target: 'rightMiddle',
tooltip: 'leftMiddle'
}
},
style: {
tip: {
corner: 'leftMiddle',
},
border: {
radius: 11,
width: 4
},
name: 'red'
},
show: {
delay:0,
ready: true,
fixed:true,
when: { target: false, event:false },
effect: function() {//.stop(true, true)
$(this).effect("drop", { direction: "down", mode: "show" }, 240)
}
},
hide: {
delay:0,
fixed:true,
when: { target: false, event:false },
effect: function() {//.stop(true, true)
$(this).effect("drop", { direction: "down", mode: "hide" }, 240)
}
}
})
Чтобы проверить это, вы можете перейти на www.buxdial.com/oldo/register.php, ввести что-нибудь в поле капчи, перейти к отладчику и запустить тесты, заменив el
на code.TIP