r3st1k25
@r3st1k25
Senior PHPomidor

Как сделать обработчик наличия дочернего элемента?

Имеем div > span (например)
div никогда не удаляется, а span удаляется и восстанавливается с неизвестной периодичностью(это капча), как на span повесить callback функцию после его удаления? В какую сторону копать?

Мне нужна внешняя callback функция реагирующая на удаление span, еще раз повторюсь - внешняя
  • Вопрос задан
  • 669 просмотров
Решения вопроса 1
DirecTwiX
@DirecTwiX
"display: flex;" уже предлагали?
$(".deletable").bind("DOMSubtreeModified", function() {
  alert('DOMTree changed');
})


codepen.io/anon/pen/GqrjzV

Upd:
Вообще, про DOMMutationObserver верно подметили. На MDN написано, что лучше использовать его, но мне было лень с ним разбираться.
Если что вот:
stackoverflow.com/questions/3219758/detect-changes...
И вот:
caniuse.com/#feat=mutationobserver
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Ответ написан
Комментировать
alsopub
@alsopub
Попробуйте так (обработчик на div, но срабатывает только на вложенном span):
$('div').on('click', 'span', function () {
    alert('Click');
  })
Ответ написан
Комментировать
orlov0562
@orlov0562
I'm cool!
не лучший, но возможный вариант, проверять элемент по таймеру, типа того
setInterval(function(){
    var el = $('div>span:not([updated])');
    if (el.length) {
        el.first().attr('updated', true);
        el.first().click(function(){ console.log('clicked'); });
    }
}, 500);
Ответ написан
Ваш ответ на вопрос

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

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