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