2013-06-11 3 views
0

Я полностью осознает MutationObserver но то, что мне нужно другое:слушателя, если элемент был добавлен в DOM

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

Слушатель загорается, когда конкретный элемент был вставлен в DOM. просто способ следовать за одним элементом вместо просмотра всего DOM. это своего рода обратный подход, но я думаю, что это правильный путь в моем случае.

Как это можно сделать? благодаря!

+1

Ваш код отвечает за добавление этого элемента в DOM? В этом случае вам нужно только запустить пользовательское событие. –

+0

есть. и как это пользовательское событие будет работать? Я не хочу использовать таймеры, чтобы проверить, находится ли это в DOM, это уродливо. – vsync

+0

Вы бы привязывали обработчик к этому событию обычным способом, например, жареный демонстрирует в своем ответе. –

ответ

2
$myobject.appendTo('body').trigger('myobserver'); 

$myobject.on('myobserver',function(){ 
    //do stuff when myobject is added to DOM 
}); 

Вы можете использовать этот трюк CSS тоже: http://www.backalleycoder.com/2012/04/25/i-want-a-damnodeinserted/

+0

нет, я не хочу этого. это не слушатель. Это точно так же, как вызов функции после добавления ее в DOM. элемент может быть вставлен в DOM из многих мест в коде, поэтому я хочу «прослушиватель». – vsync

+1

, поэтому вы можете расширить определенный метод jquery, используемый для добавления/удаления вашего объекта из DOM, если и только если для этого используется jquery. В противном случае, нет никакого способа, кроме тестирования длины объекта внутри интервала (мутационный наблюдатель является слишком большим количеством убийц производительности, а не перекрестного браузера). –

+0

exaclty ... Я считаю, что браузеры должны добавить поддержку на уровне, чтобы вы могли следить за изменениями состояний конкретных узлов DOM. Наблюдатель Мутаций - это как бог, наблюдающий за миром, и мне нужно только наблюдать за одним человеком. Бог - это избыток во многих отношениях. – vsync