替代jQuery 3中的load()用于加载Bootstrap 4模态远程内容

时间:2018-02-15 15:34:53

标签: jquery bootstrap-modal bootstrap-4 jquery-3

将另一个页面/内容(又名"远程"内容)加载到Bootstrap Modal中已经成为许多开发人员的祸根,而像这样的优秀解决方案也起作用:

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

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

但是,对于jQuery 3,load()方法已被折旧,那么如何根据此加载远程模态内容呢?

我知道您可以使用ajax(),但是有没有办法将其构建为更具动态性['}就像我上面的例子一样,所以不需要为每个模态都有一个独特的脚本吗?

1 个答案:

答案 0 :(得分:2)

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

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

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

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