|
Обращение к динамически созданным элементам.
Здравствуйте.
Через addEventListener вызываю событие mouseover и выполняю функцию, которая создает новый элемент var el = document.createElement("div"); el.id = "ele"; Теперь мне нужно вызвать событие клик через addEventListener на этом элементе. Если данное событие вызвать в функции после создания элемента, то все работает, если же извне (отдельно), то не работает, т.к. видимо элемента не существует. Соответственно, вопрос, как вызвать событие к еще несуществующим элементам? |
el.addEventListener("click", function( e ) { alert( e.target ); // ссылка на наш элемент }, false); |
Дело в том, что событие клик не сработает, т.к. видимо el еще нет. Нужно чтобы выполнялась функция при событие click на el. Который еще не создан.
|
Цитата:
|
el. еще не создан. Но инструкция уже есть. есть скажем в div 10 span. Я создаю одинадцатый. Вот на этот одинадцатый инструкция не распростроняется, а нужно чтобы распростронялось. В джиквери для этогго есть функция live к примеру.
|
ну если вещать обработчик на родителя, то ему по барабану сколько там у него детей
|
Обращение идет через querySelectorAll("#id .class"). Хотя вопрос больше как сделать так, чтобы обращаться можно было ко всем элементам, не зависимо были они ранее созданы на странице или нет.
|
через e.target по признаку (классу, id и т.п.)
либо получать нужные элементы каждый раз при вызове обработчика, а не один раз |
Спасибо. А можно примеры с обоими вариантами, а то я что-то не соображу. Т.е. как мне вызвать их указав ("#id .class")
|
тестовый пример с возможностью запуска [html run]
|
Часовой пояс GMT +3, время: 20:51. |
|