我最近询问如何检测页面的所有资源何时被加载,例如图像和样式表。答案回来了,使用$(window).load(); jQuery中的方法。
我现在的问题是如何检测内容是否通过AJAX加载完成。例如,AJAX将一些img元素注入到DOM中......如何判断这些图像何时完成加载?
答案 0 :(得分:2)
在$.get()
或$.post()
函数中,您可以提供在ajax请求完成时将调用的函数的名称。例如:
$.get("something.php",{data:'test'},foo);
function foo()
{
// This function will be called when the request has completed
}
或者:
$.get("something.php",{data:'test'},function()
{
//This function will be called in the same way
}
);
答案 1 :(得分:2)
如果您拨打 $.ajax ,可以为成功请求设置回调函数:
$.ajax({
url: _url,
type: _type,
data: _data,
dataType: _dataType,
success: _success
})
var _success = function(result) {
$html = $(result);
alert('HTML downloaded');
// inject HTML into DOM here
}
你需要通过$ html来获取图像元素,并为每个图像注册加载函数回调函数,该回调函数在加载图像时触发:
$('#myImage').load(function() {
alert('Image Loaded');
});
答案 2 :(得分:0)
检测ajax fetch何时很容易:使用jQuery中定义的Ajax事件:http://docs.jquery.com/Ajax
但我不确定你是在问同样的事情。要检测图像何时完成加载(可能,这将等于图像的src属性更改时的事件),您可以使用突变事件。 http://wiki.github.com/jollytoad/jquery.mutation-events 欢呼声,
JRH。