使用jQuery .load()回调和图像工作(Working with jQuery .load(

2019-07-29 05:27发布

当动态与jQuerys .load()方法的内容拉动,回调函数触发时请求完成和HTML通过拉到当前网页。

有没有办法制定出包含在新的HTML图像满载?

谢谢!

Answer 1:

据我所知,这不是直接的。 有些人可能会建议使用.load()事件处理程序,但jQuery的文档有一些注意事项进行使用(的资料 ):

加载事件的警告与图像一起使用时

一个常见的挑战开发者尝试使用.load解决()快捷方式是当(图像或集合)的图像已经完全加载到执行的功能。 没有与此应该注意的几个已知的注意事项。 这些是:

  • 它并不一致,也没有可靠的跨浏览器工作
  • 它如果图像SRC如前设置为相同的SRC不正确的WebKit火
  • 它不能正常泡了DOM树
  • 可以停止火已经生活在浏览器的缓存图片

我想到的唯一的办法是使用jQuery来拉img元素你的返回的HTML,并使用JavaScript Image对象加载图像。 您可以将一个.onload事件处理的Image对象。 然后,您就必须跟踪时,他们都使用类似延期对象,甚至一个简单的计数器加载。

下面是翻出了演示img的对象,并使用$.Deferred()与对象$.when()时,所有的图像加载触发:

http://jsfiddle.net/jtbowden/h4AMG/

在演示中,图像已加载后的内容将只加载。 您需要更改$.load()$.ajax()有控制做到这一点。

下面是一个使用一个基本的计数器来跟踪负荷的一个版本:

http://jsfiddle.net/jtbowden/gnW3f/



文章来源: Working with jQuery .load() callbacks and images