Функция Javascript доступна в другом модале Bootstrap - PullRequest
0 голосов
/ 13 февраля 2019

Я использую модальный Bootstrap в моем проекте, и у меня есть следующий сценарий.У меня есть одна HTML-страница Index.html , которая содержит код для открытия модального загрузчика при нажатии кнопки, используя следующий код.

jQuery('#modellink').click(function(e) {
  $('.modal-container').load(url,function(result){
    $('#myModal').modal({show:true});
  });
});

В методе загрузки URL загружается динамически,Проблема заключается в том, что когда я загружаю modalbox.html в загрузочный модал, который содержит test () функция javascript.После этого, когда я снова загружаю другой HTML-файл modalbox1.html , который не содержит функции javascript.Даже если modalbox1.html не содержит никакой функции javascript, тогда также доступна test () функция javascript, поскольку modalbox.html открывался ранее.Поэтому, пожалуйста, помогите мне, как я мог решить эту проблему.

1 Ответ

0 голосов
/ 19 февраля 2019

Насколько я понимаю, исходя из вашего объяснения, вы не хотите, чтобы функция test () была доступна для другого HTML-файла, загруженного с правильным AJAX?

Это можно легко сделать, объявив функцию в другомзамыкание ( Как работают замыкания JavaScript? )

Другими словами, чтобы заключить его в другую функцию, например

(function() {
    //test is declared within the scope of the outer function only so it will not be available in the global closure, i.e. available to other HTML loaded after this
    function test() {
        //do something here
    }
    document.getElementById("someButton").addEventListener("click", test);
})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...