【发布时间】:2012-06-04 16:11:18
【问题描述】:
让我头疼的代码很简单:
$(function(){
$("#test").append('<img onload="alert(\'hi\')" src="Image.jpg"/>');
})
我脑子里有上面的代码,正文中有一个 id 为“test”的 div。现在我的问题是页面在加载图像时会产生两个警报,但我希望它只产生一个警报,因为“onload”应该只触发一次 - 当我手动添加图像而不使用任何 javascript 时发生的方式..
请参阅我在以下位置制作的小提琴:http://jsfiddle.net/9985N/
非常感谢任何帮助/解释...
【问题讨论】:
-
使用
.html(...)方法可以解决问题,但我不知道为什么会这样 -
可能是题外话,但你不应该在图片上附加
load。 -
@Jashwant:你能解释一下原因吗? '因为我没有看到 w3c 的人在 :w3schools.com/jsref/event_img_onload.asp
-
先看到这个w3fools然后jQuery load
-
w3shools 可能无法提供学习的好东西,但它有利于元素参考,关于 @jquery api 站点提到的警告 - 似乎是合理的,但这并不意味着我们应该“永远”使用它(因为我理解它)...我在这里需要的唯一功能是跨浏览器兼容性,并且在大多数现代浏览器中似乎都很好(例如:如果图像被缓存,我不希望调用该函数..)
标签: javascript jquery append image onload