@jelezo

Jquery.inputmask.js для всплывающего окна?

Приветствую. На сайте есть всплывающее окно и подключён jquery.inputmask.js
Для обычных инпутов маска работает корректно, а вот с всплывающим окном проблема.

Всплывающее окно открывается при клике на такую кнопку:
<div style="display: block;" id="zcwMiniButton">
    <div id="zcwMiniButtonMain">
    </div>
</div>


Код всплывающего окна до нажатия на кнопку (т.е. она скрыта и инпута до нажатия на кнопку во всплывающем окне нет):
<div class="zcwPopup">
    <div class="zcwPopup-close">X</div>
    <div class="zcwPopup-content">
        <div class="zcwPopup-form"></div>
    </div>
</div>


Код всплывающего окна после нажатия на кнопку (появляется форма с инпутом):
<div style="display: block;" class="zcwPopup">
    <div class="zcwPopup-close">X</div>
    <div class="zcwPopup-content">
        <div class="zcwPopup-form">
            <form action="" method="get">
                <input  name="n" value="" placeholder="83830000000" type="text">
                <input value="Жду звонка!" type="submit">
            </form>
        </div>
    </div>
</div>

Форма генерируется внешним скриптом, который изменить нельзя.

Пробовал прописать маску так:
$('input[name=n]').mask("+7(999) 999-9999");
Но не работает.

В js не силён, но как понимаю, маска проставляется при первоначальной загрузки страницы. А так как форма появляется только после нажатия на кнопку, то поэтому к полю маска и не применяется.

Если это так, тогда вопрос: как применить маску после нажатия на кнопку и появления всплывающего окна?
  • Вопрос задан
  • 1924 просмотра
Пригласить эксперта
Ответы на вопрос 2
Если скрипт формы никак не информирует о создании формы - можно попробовать посмотреть в сторону MutationObserver.
Ну или в таймауте проверять, не появились ли нужные элементы в DOM.
Ответ написан
Комментировать
mr_dev1l
@mr_dev1l
Технический верстальщик
$("#zcwMiniButton").on('click', function(){
  $('input[name=n]').mask("+7(999) 999-9999");
});
Ответ написан
Ваш ответ на вопрос

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

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