5

解释

出于我欣赏的原因,从 jQuery 1.8 开始,该load事件已被弃用,但是,仍然可以通过使用某些解决方法来检测图像是否已加载(即使它在缓存中)。因此,该事件的弃用实际上是非常令人恼火的,因为它至少可以作为检测图像何时完成加载到页面上的起点。

尽管如此,它已被弃用,因此我提出这个问题是希望我能找到答案,从而帮助我和可能很快遇到同样问题的其他人。

一个例子(在 jQuery 1.8 之前)

在不使用插件的情况下(因为这应该可以用很少的代码完成,因此不需要插件),我想在加载页面上的每个图像时调用一个函数。

像这样的东西(由于弃用,这将不起作用):

$('#mn_content .column').on('load','img',function(){
    console.log('loaded');  
})

我的问题

load既然事件不存在,有人知道如何实现这一目标吗?

请注意:如果(现在)实现这一点的唯一方法是使用 Javascriptnew Image对象,那么请不要浪费您的时间帮助我,因为其他人比我更需要您的帮助。我能够编写这段代码,对于如此基本的东西似乎有点啰嗦。

我只是问了这个问题,以确保在不使用 Javascriptimage对象的情况下无法实现这一目标

我当然会非常感谢任何帮助,我只是不希望你在其他人更需要你帮助的时候花太多时间在我身上。:-)

4

1 回答 1

4

load 事件仍然存在,您不能再使用它来绑定它.load。您的事件委托示例应该继续适用于 1.9 和 2.0(如果您正在测试的浏览器支持加载事件的冒泡)

我个人仍然会使用新的 Image 方法,因为我不相信所有浏览器都会正确地冒泡加载事件。

编辑:对不起,如果我不清楚,我的意思是加载事件仍然存在,你只需要正确绑定它。由于加载事件不会在所有浏览器中冒泡(如果在任何浏览器中?),您必须将事件直接绑定到图像。我建议使用您要求我们不要为您提供示例的方法。

于 2013-02-08T21:42:04.453 回答