rim89
@rim89
программист-велосипедист

События после динамического добавления контента. Есть ли решение на native JS?

Доброго времени суток. Есть форма, которая обновляется через ajax. В ней есть input, на который можно повесить событие.
На JQuery можно написать так
$(document).on('focus', 'input', function(){
// some action
});

Подскажите, как написать это же на чистом JS , ES5 в частности.
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
То, что вам нужно, называется делегирование.

Надо только иметь в виду, что focus не всплывает, поэтому обрабатывать его следует на стадии захвата:

document.addEventListener('focus', function(e) {
  if (e.target.tagName === 'INPUT') {
    // здесь ваш код
  }
}, true);

Или, вместо focus использовать focusin, который всплывает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Комментировать
@ART_CORP
Hard work
Комментировать
mosesfender
@mosesfender
Меланхолик, параноик, падал с коек
document.addEventListener('focus', function(ev){
  if(ev.target instanceof HTMLInputElement){
     …
  }
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы