确定 DOM 和图像是否在 AJAX 内加载的函数调用 .load

Function to determine if DOM and Images are loaded within AJAX call .load

我正在使用一个函数通过 Ajax 动态加载内容,使用这种方式:

$("#content").load('file.html', function(response, status, xhr){
     alert('test');
});

当请求成功但在加载任何图像之前加载警报。在加载所有图像(在 file.html 内)并且 DOM 完全准备好后,我可以使用触发的任何功能吗?我试过通常的方法,比如 $(window).load 和 $(document).ready,但这显然行不通,这是有道理的。

编辑以供将来参考: 澄清一下,我在加载的内容上使用了 skrollr。由于该插件会根据加载的内容调整主体高度,因此在 ios 设备上出现严重问题。使用此功能我可以确保 skrollr 实例不会过早刷新。

我相信这个 post、Does AJAX loaded content get a "document.ready"? 已经回答了您的问题。简短的回答是否定的,它不是,你需要为加载内容中的项目添加一个监听器。不过那应该很容易。

你可以使用imagesloaded jQUery插件,尝试使用ajax done里面的回调函数加载内容,见下面的示例代码

$("#content").load('file.html', function(response, status, xhr){
     $("#content").imagesLoaded( function(){
          alert('test');
     });

});