Альтернатива load() в jQuery 3 Для загрузки Bootstrap 4 Модальный удаленный контент

Загрузка другой страницы / контента (также называемого "удаленным" контентом) в Bootstrap Modal была проклятием многих разработчиков, и такие замечательные решения, как эта, работают:

$('body').on('click.modal.data-api', '[data-toggle="modal"]', function(){
  $($(this).data("target")+' .modal-content').load($(this).attr('href'));
});

Использование вышеупомянутого позволяет вам сделать один вызов скрипта и применить его ко всем страницам, которые имеют модалы, которые загружают контент, будь то локальный или удаленный. Следует отметить, что для "локальных" модальных href атрибут (даже один с хешем для значения), чтобы он работал как для локального, так и для удаленного. Это может быть включено в файл нижнего колонтитула или любой другой глобально включенный файл в вашем приложении, поэтому он находится только в одном месте и работает для каждого модального режима в вашем приложении.

Тем не менее, с jQuery 3, load() метод устарел, так как же в этом случае можно было бы загружать удаленный модальный контент?

Я знаю, что вы можете использовать ajax(), но есть ли способ сделать его более "динамичным", как в моем примере выше, поэтому нет необходимости иметь уникальный сценарий для каждого модального режима?

1 ответ

Решение

Загрузка была удалена как привязка обработчика событий ярлыка, а не для загрузки внешних ресурсов.

- связывание, удалено
http://api.jquery.com/load-event/

- метод для загрузки данных AJAX, все еще действителен
http://api.jquery.com/load/

Таким образом, поскольку ваша логика использует вторую версию, она все еще действует в 3x.

Другие вопросы по тегам