Теперь я делаю это так:
$('div.myDiv').live('mouseenter',function() { }
Это единственный способ убедиться, что код загружается перед использованием узла. Но было бы лучше, если бы функция запускалась, когда объект входит в дерево DOM.
Вы можете использовать событие DOMNodeInserted для элементов контейнера, в которые будут добавлены новые элементы.
DOMNodeInserted
Плагин livequery обеспечивает эту функциональность:
$('div.myDiv').livequery(function() { $(this).mouseenter(function() { alert("!"); }).mouseenter(); });
Или, если вы хотите что-то сделать только при создании элемента:
$('div.myDiv').livequery(function() { alert("!"); });
Вот сообщение в блоге , показывающее, как это работает .
А вот демоверсия на jsfiddle