Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему Jquery не работает в arcticmodal при вызове окна с большой высотой? (https://javascript.ru/forum/misc/70639-pochemu-jquery-ne-rabotaet-v-arcticmodal-pri-vyzove-okna-s-bolshojj-vysotojj.html)

sergey24 21.09.2017 14:48

Почему Jquery не работает в arcticmodal при вызове окна с большой высотой?
 
Добрый день. Использую плагин arcticModal. В окне не работает код, вида:
$('.class').on('click', function(){
...
});

Если вынести html код за пределы модального окна, то всё отлично работает.
Примечание:
Если вызывать окно через код:
$('#exampleModal1').arcticmodal();

То всё отлично работает.
Если же через:
var c = $('<div class="box-modal" />');
    c.html($('.b-text').html());
    c.prepend('<div class="box-modal_close arcticmodal-close">X</div>');
    $.arcticmodal({
        content: c
});

То JS не работает в окне.
Мне, как Вы уже поняли, требуется 2 способ вывода модального окна.

Rasy 21.09.2017 15:01

sergey24, если клик регистрируется не элемент которого не существует, а он появляется после вызова, то явно не сработает. Всегда ищи в доках функции коллбэки.
var c = $('<div class="box-modal" />');
    c.html($('.b-text').html());
    c.prepend('<div class="box-modal_close arcticmodal-close">X</div>');
    $.arcticmodal({
        content: c,
        afterOpen: function() {
         $('.class').on('click', function(){
           alert();
         });
        }
});

sergey24 21.09.2017 15:09

Rasy,
Спасибо, что уделили внимание теме.
Ваш вариант немного не подходит, т.к. клик сработает сразу после открытия окна, а требуется, чтобы загрузилось окно и только после клика на сам элемент с .class происходило действие, в Вашем случае алерт:)

Rasy 21.09.2017 15:26

Цитата:

Сообщение от sergey24
Ваш вариант немного не подходит, т.к. клик сработает сразу после открытия окна

Не сработает клик сразу после открытия окна, т.к. здесь мы подписываемся на событие клика, а не вызываем его.
Цитата:

Сообщение от sergey24
чтобы загрузилось окно и только после клика на сам элемент с .class происходило действие, в Вашем случае алерт

Все так и должно работать.

sergey24 21.09.2017 15:43

DEL

sergey24 21.09.2017 15:49

Rasy,
Спасибо большое, работает:)


Часовой пояс GMT +3, время: 18:08.