Blog

Showing 1 - 10 of 27 results
// Fecha o popup (função reutilizável) function closeKajabiModal() { const modal = document.querySelector('#kajabi-form .kajabi-modal'); if (modal) { modal.style.display = 'none'; document.body.classList.remove('modal-open'); } } // 1) Delegação de eventos: funciona mesmo se o botão for criado depois document.addEventListener('click', function(e) { // Clique no X if (e.target && e.target.matches('.kajabi-modal__close')) { e.preventDefault(); closeKajabiModal(); } // Clique fora do conteúdo (na área escura) const modal = document.querySelector('#kajabi-form .kajabi-modal'); if (modal && e.target === modal) { closeKajabiModal(); } }); // 2) (Opcional) Espera o modal aparecer para aplicar body lock, etc. (function waitForModal(maxMs = 15000) { const start = Date.now(); const iv = setInterval(() => { const modal = document.querySelector('#kajabi-form .kajabi-modal'); const closeBtn = document.querySelector('.kajabi-modal__close'); if (modal) { // garanta que o body não role quando o modal abre (se usar essa classe no CSS) if (getComputedStyle(modal).display !== 'none') { document.body.classList.add('modal-open'); } } // se já achou o botão/elemento ou passou do timeout, para if ((modal && closeBtn) || Date.now() - start > maxMs) { clearInterval(iv); } }, 150); })();