Jquery.live () наблюдает за загрузкой нового элемента в DOM - PullRequest
1 голос
/ 26 июля 2011

Можно ли наблюдать за событием "загрузка", когда элементы созданы в DOM? Более конкретно, мне интересно наблюдать, были ли добавлены новые поля выбора, а затем сортировать параметры в окне выбора.

Я пробовал что-то вроде:

$("select").live("load", mySortSelectFunction)

Это, видимо, не работает. Может быть, событие «load» не срабатывает на элементе select?

Если нет события «загрузка», то как можно получить уведомление, когда в DOM готов блок выбора? Я хочу избежать запуска какого-либо пользовательского события из кода везде, где создаются окна выбора. Я хочу просто добавить один маленький EventListener в глобальный скрипт, а затем все ящики выбора автоматически сортируются независимо от того, когда они создаются.

С уважением,

Кристиан Сонне Дженсен

Ответы [ 2 ]

3 голосов
/ 28 сентября 2011

Попробуйте jquery liveQuery - он делает именно то, что вы хотите.

0 голосов
/ 26 июля 2011

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

$(document).ready(function(){

  $("select").each(function(){
    mySortSelectFunction(this);
  });

});
...