Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   как запасти элемент? (https://javascript.ru/forum/events/18189-kak-zapasti-ehlement.html)

Bebarr Swallow 21.06.2011 12:14

как запасти элемент?
 
на странице все время будут появляться элементы с определенным класом, мне нужно вылавливать все моменты появления новых элементов и запускать к ним функцию

walik 21.06.2011 12:35

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

Bebarr Swallow 21.06.2011 12:38

Цитата:

Сообщение от walik (Сообщение 109716)
Элементы сами по себе не появляются, их кто то заставляет появляться, вот тому и скажите что бы он еще и функцию вызывал. Или же сами через промежутки времени проверяйте наличие новых элементов.

вариант через промежутки времени совершенно не устраивает (слишком много функций уже кинул на выполнение через промежуток времени)... я делаю типа userscript, а не сайт, просить у сайта подстроиться под меня не могу

walik 21.06.2011 12:43

Нет такого события что бы выполнялась функция при появление элемента.
Тогда ищите другое решение задачи.

Nekromancer 21.06.2011 12:48

Цитата:

Сообщение от walik (Сообщение 109719)
Нет такого события что бы выполнялась функция при появление элемента.
Тогда ищите другое решение задачи.

Ну конечно же, нету -
http://www.w3.org/TR/DOM-Level-3-Eve...mutationevents

Попробуйте воспользоваться функцией live в jQuery, либо поковыряйте её код и реализуйте своими силами.

П.С. Можно ещё так побробовать:
addEvent(document, 'click', function(e, elem){
var elem = e.target;
if(elem.className = 'myClass'){
handler.call(elem, e);
}
});

Естественно нужно будет проверять все родительские ноды.

nikita.mmf 21.06.2011 13:26

walik, совершенно прав, элементы не появлябтся сами по себе их вставляет какая-нибудь функция, может и ни одна, хоть сто, придется во все функции добавить коллбак, на проверку вставленных элементов, или тригирировать кастомное событие, что добавился новый кусок html, и соответственно, подписать функцию поиска элементов на это событие


Часовой пояс GMT +3, время: 08:51.