В этой статье мы рассмотрим случай, когда вы добавляет на страницу элементы уже после её загрузки и хотите привязать какое-то событие к этим элементам.
Всё чаще и чаще слышаться вопросы "Почему событие не работает на элементах, добавленных динамически?" и прочего рода.
Ответ очень просто и вы должны это понимать, если хоть немного занимаетесь javascript. В момент когда вы добавляет событие к элементу, он уже должен существовать, это вполне логично. То есть событие привязывается в момент выполнения этого скрипта и только для тех элементов, которые найдет на странице в этот момент.
Как только вы осознали это, то и решение напрашивается само собой - после каждого добавления нового элемента на загруженную страницу, нужно привязать событие к этому элементу по новому.
Т.е. мы создаем новый объект, привязываем к нему событие и уже тогда добавляем его на страницу. Если следовать этим простым правилам, проблем с выполнением необходимых событий у элементов, динамически добавляемых на страницу не будет.
Приведем простой пример:
Важно заметить, что скрипт выполняет после загрузки кнопки button, иначе событие в строке 12 не привязывалось к нему.
Для события, добавляемого к новым элементам мы записали свою функцию для удобства понимания. Демостраницию вы можете посмотреть тут:
Добавить комментарий
Авторизоваться с помощью: