allishappy
@allishappy

Как повесить событие на элементы, которых ещё нет?

В jQuery можно сделать вот так:
$(body).on('click', '.name-class', (e) => {...});
Если я правильно понял, то этот код добавит обработчик события не только на все элементы с классом 'name-class', которые есть на странице, но и на элементы с таким классом, которые в будущем будут созданы динамически.
Как реализовать подобное на чистом JS?
  • Вопрос задан
  • 1627 просмотров
Решения вопроса 2
@lemme
Frontend
https://learn.javascript.ru/event-delegation

А вот банальный пример метода on (только для классов, но суть от этого не меняется).
https://jsfiddle.net/01yswvcc/
Ответ написан
Комментировать
lazalu68
@lazalu68
Salmon
$(body).on('click', '.name-class', (e) => {...});

Этот код вешает обработчик только на body. По клику на body проверяется соответствует ли target селектору (в данном случае '.name-class'), если да - выполняется функция.

Вероятно, реализовать такое можно используя тот же принцип: по клику проверять соответствуют ли элементы некоему условию, выполнять функцию в случае соответствия.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы