2013-02-26 4 views
0

Мне нужно запустить jquery-действие при добавлении div.Как запустить jquery-действие при добавлении div?

Что-то вроде:

if ($('div#myDiv').is_appended()) { 
console.log('the div has been appended'); 
} 

Возможно ли это?

Зачем мне это нужно

Этот вопрос связан с этой question где у меня есть я модальный DIV, который загружается после того, как библиотеки Jquery, то я не могу целевой элемент в нем.

Теперь я пытаюсь сделать что-то, когда модальный ДИВ является нагрузкой, не уверен, если я это сделать, хотя,

+1

Зачем вам это нужно в первую очередь? Может быть, есть лучший способ. – Ryan

+0

Нет, события запускаются для действий пользователя. Поскольку это добавляется кодом, то вы должны сделать привязку своей функции к тому, что делает добавление. – Blazemonger

+0

Я думаю, что [это] (http://stackoverflow.com/questions/4979738/fire-jquery-event-on-div-change) должен ответить на ваш вопрос. – ncksllvn

ответ

2

Не в кросс-браузерной образом, еще нет. Существует спецификация проекта для наблюдателей мутации, которые позволили бы ее (больше на this MDN page), но она реализована только в последних браузерах на базе WebKit и в Firefox.

Существует почти всегда лучший подход, например, запуск действия из кода, добавляющего div. В худшем случае (и я имею в виду «худшее»), вы можете использовать опрос каждый (скажем) 100 мс и обнаруживать новый div. Но опять же, есть почти всегда лучший способ.

+0

Знаете ли вы это с головы? – Dom

+0

@ Dom: Да, почему? –

+0

Молодцы, сэр! – Dom