0

将另一个页面/内容(也称为“远程”内容)加载到 Bootstrap 模态中一直是许多开发人员的祸根,像这样的伟大解决方案可以工作:

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

使用上述方法,您可以进行一个脚本调用,并将其应用于任何具有加载内容的模式的页面,无论是本地的还是远程的。应该注意的是,对于“本地”模态,您不能拥有一个href属性(即使是一个带有哈希值的属性),它也适用于(本地和远程)。这可以包含在页脚文件或应用程序中的任何其他全局包含文件中,因此它只驻留在一个位置,并且适用于应用程序中的每个模式。

但是,在 jQuery 3 中,该load()方法已被贬低,那么鉴于此,如何加载远程模态内容呢?

我知道您可以使用ajax(),但是有没有办法像我上面的示例一样将其构建为更加“动态”,因此不需要为每个模式都有一个独特的脚本?

4

1 回答 1

2

Load 作为快捷方式事件处理程序绑定被删除,而不是用于加载外部资源。

--绑定,删除
http://api.jquery.com/load-event/

--加载ajax数据的方法,依然有效
http://api.jquery.com/load/

因此,由于您的逻辑使用的是第二个版本,它在 3x 中仍然有效。

于 2018-02-15T15:37:20.770 回答