После повторного открытия модального окна не выполняется javascript

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

После повторного открытия модального окна не выполняется javascript

Сообщение zxczxc12 »

Пролог:
Модальные окна - это почти всегда боль

Суть:
Есть ссылка которая открывает модальное окно, через ajax вызывает контроллер , берет контент renderAjax() и вставляет html в модальное окно

При первом вызове , все нормально работает
Но вот я, не перегружая страницу , закрываю модальное окно и открываю его еще раз
Еще раз идут запрос контента , и он приходит , но с телом и с css. Не видно что бы приходил js ( которые описан а Assets )

В итоге , мой javascript не срабатывает . И понять не могу что не так . Как будто в DOM уже нет его

а сам js скрипт крайне прост

Код: Выделить всё


$(document).ready(function () {

    $('.ban-checkbox').on('change',function () {
        if(this.checked) {
            $('.field-ban_period_days').show();
        }else{
            $('.field-ban_period_days').hide();
        }
    });
});

Tommi
Сообщения: 90
Зарегистрирован: 2013.08.01, 13:44

Re: После повторного открытия модального окна не выполняется javascript

Сообщение Tommi »

а js в ответе как ссылка на файл или как код?
если ссылка, то он понимает этот ресурс как кешированный ранее и не "подгружает" его заново, т.е. не выполняет.
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: После повторного открытия модального окна не выполняется javascript

Сообщение zxczxc12 »

Tommi писал(а): 2020.04.17, 14:10 а js в ответе как ссылка на файл или как код?
если ссылка, то он понимает этот ресурс как кешированный ранее и не "подгружает" его заново, т.е. не выполняет.
то он понимает этот ресурс как кешированный ранее и не "подгружает" его заново, т.е. не выполняет.
ну вот такого плана ситуация думаю и возникает

пока решил продублировать код инлайном то есть вставил код прям в страницу и оно работает

но это костыль , а что сделать что бы нормально было - без понятия что то
Prooksius
Сообщения: 100
Зарегистрирован: 2019.01.17, 23:24

Re: После повторного открытия модального окна не выполняется javascript

Сообщение Prooksius »

Наврное, надо вместо

Код: Выделить всё

 $('.ban-checkbox').on('change',function () {
написать

Код: Выделить всё

 $(document).delegate('.ban-checkbox', 'change', function() {
Бывает, попапы открываются с пом. клонирования окна в BODY, а при таком способе, скрипты, конечно отваливаются. Вот такой обработчик будет работать в любом случае.
Ответить