Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery替代绑定(';加载';)以用于图像_Javascript_Jquery_Ajax_Deprecated - Fatal编程技术网

Javascript jQuery替代绑定(';加载';)以用于图像

Javascript jQuery替代绑定(';加载';)以用于图像,javascript,jquery,ajax,deprecated,Javascript,Jquery,Ajax,Deprecated,可能重复: 因此,jQuery中已弃用了.load()方法load()是“绑定('load',函数)”的快捷方式 发件人: 与图像一起使用时加载事件的注意事项 开发人员试图使用.load()解决的一个常见问题 快捷方式是在图像(或 图像)已完全加载。有几个已知的警告 这一点值得注意。这些是: 它不能稳定地工作,也不能跨浏览器可靠地工作 如果图像src设置为与相同的src,则在WebKit中正确激发 在它没有正确冒泡之前,DOM树可以停止运行 对于已存在于浏览器缓存中的图像` 如何在图像加载时始

可能重复:

因此,jQuery中已弃用了
.load()
方法
load()
是“绑定('load',函数)”的快捷方式

发件人:

与图像一起使用时加载事件的注意事项

开发人员试图使用.load()解决的一个常见问题 快捷方式是在图像(或 图像)已完全加载。有几个已知的警告 这一点值得注意。这些是:

它不能稳定地工作,也不能跨浏览器可靠地工作 如果图像src设置为与相同的src,则在WebKit中正确激发 在它没有正确冒泡之前,DOM树可以停止运行 对于已存在于浏览器缓存中的图像`

如何在图像加载时始终如一地执行功能?我当前的代码如下所示:

$(newImage).bind('load', function() {
    createSlices(slide); 
});
然而,在阅读了文档之后(尽管我没有注意到任何问题),我担心它可能不会对某些用户触发

var img = new Image();  
img.onload = function() {

} 

img.src=  src-image

上面的代码适用于所有浏览器,甚至没有jquery。

您担心的没错,如果缓存图像,IE7/8有时会无法触发加载事件

一种技术是在绑定加载事件后立即检查映像是否完整:

$(newImage).bind('load error', function() {
    createSlices(slide); 
});

// check if the image is immediately complete (cached)
if (newImage.complete || typeof newImage.complete === 'undefined') {
    createSlices(slide);
}
我在以下方面进行了成功的测试:

  • IE 7/8/9/10
  • FF4+
  • Chrome(最新版本)
  • 狩猎5+

试试这个插件man:called
waitforimages
插件:(向下滚动链接,您将看到各种高级用法)-演示

希望它符合需要
:)

代码

$('selector').waitForImages(function() {
    // All descendant images have loaded, now slide up.
    $(this).slideUp();  
});

有一个很好的库可以准确地处理这一点:


我在生产中使用过,效果非常好。非常可靠,没有一个投诉

根据我的经验,本机的
onload
函数比jQuery的
load()
?@Andrew更可靠,谢谢你的格式化。这段代码仍然会遇到jQuery文档中概述的潜在问题。问题是如何解决这些问题,而不是如何预加载图像。native
onload
适用于包括IE6在内的所有浏览器。