jQuery: если элемент загружается с событием ajax? - PullRequest
0 голосов
/ 04 августа 2010

странный вопрос.Я пытаюсь расширить небольшой плагин, который находится на боковой панели моего блога.Плагин поставляется с небольшим количеством Ajax.Он содержит форму и при отправке загружает объявление iv#error_msg или div#success_msg (все через ajax).

Есть ли способ узнать, когда появится один из этих элементов?Просто получите то, что я хочу: я хочу добавить текст к форме на боковой панели, когда форма будет отправлена.как только один из двух элементов div (error или success) будет загружен в эту форму, я хочу снова удалить предварительно добавленный элемент.

Знаете ли вы, как это сделать?Я не хочу редактировать исходный код плагина!

edit: checkMsg () не определено!Почему?

var check = 0;

function showLoader() {
        $('#mc_signup_form').prepend('<span class="loading"> loading </span>');
        check = setInterval ( "checkMsg()" , 300 );
    }

function checkMsg() {
    if ( $('.mc_error_msg').length == 0 || $('.mc_success_msg').length == 0 ) {
        $('#mc_signup_form .loading').remove();
        clearInterval(check);
    }
}

Ответы [ 2 ]

0 голосов
/ 04 августа 2010

Предварительное добавление можно сделать, просто изменив атрибут onsubmit формы, но удалить текст немного сложнее.

Используя Плагин AOP JQuery , вы можете запускать пользовательские события до или после любой функции. Если вы можете найти функцию js, которую использует плагин для добавления div, вы можете удалить свое сообщение после запуска функции.

В зависимости от того, как закодирован плагин, вероятно, есть более чистый путь. Посмотрите, что он делает, чтобы вызвать добавление div, у вас может быть возможность ввести обратный вызов. Также, если вы добавите название плагина в вопрос, сообщество сможет ответить вам более конкретно.

0 голосов
/ 04 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...