butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как повесить обработчик события на изменения текста в div?

У меня есть yii2, который строит форму и делает свою валидацию на фронтенде.
Я же хочу, как только срабатывает любая ошибка валидации, получить текст этой ошибки для дальнейшей работы.
Я так понимаю, стандартных yii2 колбэков для этого нет. Пишу свой костыль.

Так, почему-то, не работает:

$('body').on('change', '.help-block', function(){
     console.log($(this).text());
});


Какой тригер надо использовать?

Я написал свой код, который берет текст ошибки по событию изменения инпута, но он берет его только во второй раз. Видимо мой скрипт срабатывает раньше, чем скрипт валидации от фреймворка. Менять местами я их не могу, чтобы валидация сработала раньше, остается вешать обработчик, но вот что-то я туплю тут с событием.
  • Вопрос задан
  • 598 просмотров
Решения вопроса 1
mr_T
@mr_T
Web-разработчик
var block = $('.help-block'), html = block.html(), updateInterval = 100;
setInterval(function() {
    var newHtml = block.html();
    if (html != newHtml) {
       /* staff */
       html = newHtml;
    }
}, updateInterval);

По-другому никак, по крайней мере нет события, которое бы выполнялось при изменении контента.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@eldar_web
.help-block - это div или input?
Ответ написан
JuSay
@JuSay
Увы, но стандартными средствами изменения не отследить
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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