Подтвердить что ты не робот

Программно показывать подсказку после вызова ajax

Мне интересно, знает ли кто-нибудь о плагине или учебнике о том, как запускать всплывающую подсказку после вызова ajax. На данный момент я использую jQuery Tools для создания всплывающих подсказок. Но я не хочу, чтобы всплывающие подсказки запускались на событии mouseOver; скорее, я хочу, чтобы они показывали после вызова ajax. Я не могу найти какую-либо документацию или примеры того, как это сделать. Например:

<a class="vote">Vote</a>

<div id="tooltip">
Some tooltip with a message.
</div>

$.ajax({
    context: this,
    dataType: 'json',
    success: function(response) {
        if (response.result == "success") {
// SHOW TOOL TIP HERE
        } 
        else {
// SHOW ANOTHER TOOL TIP HERE
            }
        });

Как работает jQuery Tools, просто привязывая элемент к подсказке инструмента как таковой: (но это заставляет всплывающую подсказку открываться на mouseOver)

$("#myElement").tooltip();

Существует API с событиями, включенными в jQuery-инструменты, но я не знаю, как показывать всплывающую подсказку только после Ajax! Другим осложняющим фактором является то, что мне нужно иметь одну и ту же подсказку (или несколько подсказок) для нескольких элементов.

4b9b3361

Ответ 1

Вот пример того, как показать какое-то "подсказку" или всплывающее диалоговое окно после некоторого события. Здесь нет ajax, но просто используйте действие щелчка ссылки.

$(document).ready(function() {

    $("#vote").click(function(evt) {
        evt.preventDefault();

        // Do your ajax
        // Show the popup
        $("#tooltip").show();
    });

    $("#tooltip").click(function() {
        $(this).hide();
    });

});

http://jsfiddle.net/Tm8Lr/1/

Надеюсь, это поможет вам начать работу.

Боб

Ответ 2

Не работает ли просто запуск события mouseover после привязки всплывающей подсказки?

$('#myElement').tooltip().mouseover();

Ответ 3

Посмотрите tooltip документацию (особенно scripting API) и как работает их API.

Поэтому он должен работать с:

if (response.result == "success") {
    $('#myElement').data('tooltip').show();
} 
else {
    // don't know which other tooltip you want to show here
}

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

Ответ 4

Вы можете использовать функцию запуска для запуска другой функции, привязанной к mouseOver.

$('#ElemWithTootip').trigger('mouseOver');

Ответ 5

Мел,

Вы можете написать свою собственную подсказку, всплывающие подсказки - это ничего, кроме div-боксов с пользовательским внешним видом, а затем абсолютно позиционируются.

Как только ваш ajax завершает показ всплывающей подсказки по jquerys show

$('#tooltipid').show(); 

если вы хотите скрыть несколько секунд, вы можете сделать это, используя jquery или javascripts setTimeout();

Я думаю, что все, что вам нужно, - когда ajax завершает работу, у вас есть новый html в dom, и вы хотите показать всплывающее окно над этим кодом,

Надеюсь, что это поможет