Альтернатива 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.