jQuery - добавление нового слушателя событий div

0

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

Проблема, с которой я столкнулся, когда ответ возвращается, заключается в том, что он остается на странице; и вы остаетесь с кучей ответов повсюду. Так что я хочу сделать, это угаснуть или очистить содержимое этих элементов через шесть секунд, которые они впервые появляются на странице.

То, что я собирался сделать, это:

$(function(){
    $('font.msgDivAuth, div.msgDivAuth').bind('DOMSubtreeModified', function(){

        alert("check");

    });
});

Теперь это только проверит, .msgDivAuth ли существующие элементы .msgDivAuth на странице. Но, конечно, это не объясняет динамическое добавление страницы, возвращенной успешным ответом ajax.

Другими словами:

  1. Проверяйте, динамически, для поступления нового контента.
  2. Проверьте, входит .msgDivAuth в него класс .msgDivAuth в качестве класса.
  3. Если у него есть класс .msgDivAuth прикрепленный к нему, ставка, div или font, начните шесть секунд таймера и fadeOut.
  4. Существующий .msgDivAuth div или font также должен обновлять свои таймеры fadeout, когда их содержимое было изменено. (например, выше).
  5. Промыть и повторить.

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

Любые идеи о том, как это реализовать?

  • 2
    Вы должны использовать $ (). On () и $ (). Off () вместо .bind и .unbind. Это предпочтительный метод привязки событий, так как jquery 1.7: api.jquery.com/bind
  • 0
    Полностью согласен с этим. Я в процессе миграции большей части этого
Теги:

1 ответ

0
Лучший ответ

Элемент можно найти с помощью этой функции

использовать функцию hideElement (element) в вашем обратном вызове

function hideElement(element) {
  var target = $(this).find('.msgDivAuth');
  target.hide()
}
  • 0
    Проблема в том, что на сайте есть сотни успешных обратных вызовов, и это было бы невыполнимой задачей. Мне нужно что-то более общее.
  • 0
    Вы можете сделать это как отдельную функцию и вызывать обратные вызовы вашего успеха

Ещё вопросы

Сообщество Overcoder
Наверх
Меню