gpt4 book ai didi

jquery - jQuery load 事件到底什么时候触发?

转载 作者:行者123 更新时间:2023-12-03 22:52:37 27 4
gpt4 key购买 nike

我一直在这里和谷歌中查找 jQuery .load() 事件何时触发(当然我指的是图像的加载事件)?我并不是指加载带有图像的文档时的典型情况,据我所知 - 当我们执行以下操作时,加载事件会触发:

1/将新图像附加到文档:

$('<img src="picture.jpg" />').appendTo('body');

2/更改现有图像的src属性:

$('img').attr('src' , 'new_path.jpg');

3/创建新的img对象:

var object = $('<img src="picture.jpg" />');
<小时/>

但是这些情况怎么办,因为我不确定:

4/将图像附加到未添加到文档 (DOM) 的对象:

var o = $('<div></div>');
o.append('<img src="picture.jpg" />');

//我的意思是 o 不存在于 DOM 树中,它没有被附加

5/加载带有imgs的内容到未添加到文档中的对象:

var o = $('<div></div>');
o.load('url.html #pictures');

//我的意思是 o 不存在于 DOM 树中,它没有被附加

我将非常感谢您的帮助......

最佳答案

对于数字 4,它似乎仅在附加到内存中对象时触发一次,并且在附加到 DOM 时不会再次触发。看看这个 fiddle :http://jsfiddle.net/JxHe4/并在 Chrome 工具或 Firebug 中观察网络流量和控制台输出。

Chrome、Firefox 和 IE9 之间的行为似乎是一致的。现在,这回答了您的部分问题(希望如此),但没有解释这种行为的原因。我的猜测是,这就是它的指定方式(因为所有浏览器的行为相似),但我找不到正式定义 onLoad 事件的规范。

对于第 5 个,我不希望加载页面会影响图像的加载,我不知道如何首先获得对这些图像的引用以将 .Load 处理程序附加到它们。

[更新]

This excerpt from HTML4 specification可以解释第 4 点中的行为:嵌入文档(在本例中为 IMG)完全独立于嵌入它的文档。例如,嵌入文档中的相对 URI 根据嵌入文档的基本 URI(而不是主文档的基本 URI)进行解析。嵌入文档仅在另一个文档中呈现(例如,在子窗口中);它在其他方面保持独立。

关于jquery - jQuery load 事件到底什么时候触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12916630/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com