Отследить появление элемента
Нужно прокидывать цель в метрику после отправки формы.
Пытаюсь привязаться к событию после того как форма отправлена, в модальном окне появляется: <div class="wpforms-confirmation-container" id="wpforms-confirmation-1113"><p>Спасибо, что написали нам! Мы свяжемся с вами в ближайшее время.</p> </div> Делаю так: if (document.querySelectorAll("#wpforms-confirmation-1113").length > 0) {console.log("форма отправлена"); } Но не срабатывает :( |
Цитата:
Так же можно напомнить что: - ИД должен быть уникальным на странице и querySelectorAll можно и не применять к селектору идентификатора. - Если важен сам факт наличия элементов, можно укоротить условие document.querySelectorAll("селектор").length Этого будет достаточно. Или вообще вот так document.querySelector("селектор") |
Цитата:
|
Цитата:
Работа с ним хорошо описана в здешнем учебнике - https://learn.javascript.ru/mutation-observer |
Цитата:
function handleMutation(mutationsList, observer) { for (const mutation of mutationsList) { if (mutation.type === 'childList') { for (const addedNode of mutation.addedNodes) { if (addedNode instanceof HTMLElement && addedNode.classList.contains('wpforms-confirmation-container')) { console.log('Появился новый элемент'); observer.disconnect(); } } } } } const observer = new MutationObserver(handleMutation); observer.observe(document.body, { childList: true, subtree: true }); Единственное, не могу понять, как проверять не на класс, а на id ? |
Цитата:
Цитата:
addedNode.id === 'нужный_ИД' |
ksa, все работает, спасибо)
|
Часовой пояс GMT +3, время: 19:36. |