jQuery.load()无法处理我的图像

jQuery.load()无法处理我的图像,jquery,Jquery,我有一些代码,我试图运行一旦我的形象已经完成加载。我使用以下jQuery代码: $("#myimageid").load(function() { alert('Image Loaded'); }); 然而,弹出窗口从未出现。我无法使.load()函数工作!有人对此有问题吗?清除浏览器缓存并重试脚本时会发生什么情况?从jQueryload(): 加载事件可能会发生 如果图像为空,则不会触发 从浏览器缓存加载。到 考虑到这种可能性,我们可以 使用激发的特殊加载事件 如果图像已准备好,请立

我有一些代码,我试图运行一旦我的形象已经完成加载。我使用以下jQuery代码:

$("#myimageid").load(function() {
    alert('Image Loaded');
});

然而,弹出窗口从未出现。我无法使.load()函数工作!有人对此有问题吗?

清除浏览器缓存并重试脚本时会发生什么情况?从jQuery
load()

加载事件可能会发生 如果图像为空,则不会触发 从浏览器缓存加载。到 考虑到这种可能性,我们可以 使用激发的特殊加载事件 如果图像已准备好,请立即。 当前正在加载event.special.load 作为插件提供

一般来说,没有必要 等待所有图像完全恢复 加载。如果代码可以执行 早些时候,通常最好是 它位于发送到.ready()的处理程序中 方法

因此,听起来您的缓存映像没有触发加载事件,因此您可能希望尝试前面提到的插件。您可以找到要下载的JS文件


希望这有帮助

如果在映像已设置了源之后运行此,则需要对缓存映像进行额外检查(在添加侦听事件的事件处理程序之前,是谁触发了事件)。您可以这样做:

$("#myimageid").on('load', function() {
  alert('Image Loaded'); 
}).each(function() {
  if(this.complete) $(this).load();
});
更新查询的更高版本,请使用:

if(this.complete) $(this).trigger('load');

使用
(this.load()
将产生一个
无法读取未定义的属性'indexOf'的错误
错误

您将该代码放在了什么地方?成功了!感谢mate$(document).ready(function(){$(“#googleimage”).load(function(){alert('Image Loaded');}).each(function(){if(this.complete)$(this.load();});});很好,为什么这么难找到!值得注意的是,
.complete
不是由jQuery定义的,而是在DOM元素本身上定义的。因此
$(选择器).complete==未定义的
,因此您可能需要将其展开
$(选择器)[0]。complete
。答案暗示这是$。每个原始DOM元素都分配为
this
,但我一时糊涂了:)@yoshi是正确的。我相信
$(选择器).prop(“complete”)
也应该可以工作