jQuery Удалить сценарий Эффект пришел от ajax - PullRequest
0 голосов
/ 27 января 2020

Я настроил вложенный модальный скрипт ( jQueryModal ), чтобы лучше соответствовать потребностям проекта, но я столкнулся с какой-то странной проблемой, которую не могу получить

Я вызываю этот модал для загрузки некоторое содержимое через ajax, и ответ от этого ajax содержит некоторый код javascript вместе с html и прикрепляется к модальному телу. Весь этот код javascript (из ответа ajax) работает отлично.

Затем, когда этот модальный режим закрыт, я удаляю весь модальный блок и его содержимое (которое ajax ответило html + javascript )

Но когда я снова открываю тот же модал, старый скрипт оставляет эффект

Пример, Модал A открывается с содержанием ajax, в этом контенте есть [ КНОПКА] для вызова другого ajax (откроет другой модал), давайте назовем его Модальный B

В Модальный B , есть выпадающий список, который вызывает ajax при изменении, что пока хорошо. Теперь я закрываю Модальное B и снова открываю его, нажимая те же самые [КНОПКА] на Модальное A , и затем открывается Модальное B , но это time В раскрывающемся списке Modal B дважды будут вноситься изменения

Я сомневаюсь, что удалить js кода при закрытии режима недостаточно

В чем может быть проблема и решение для этого? Спасибо за любую помощь заранее

1 Ответ

0 голосов
/ 28 января 2020

Благодаря @Taplar за помощь, я понял проблему и смог ее решить, немного покопавшись, и решил использовать jQuery off

пример:

$('.button').off('click').on('click', function(){ ... });

таким же образом для выпадающего списка:

$('select').off('change').on('change', function() { ... });
...