【发布时间】:2012-12-22 00:10:40
【问题描述】:
在我的 html 页面中,我有一张图片,点击一个按钮,我正在调用函数 TestLoad(),它正在更改图像的 src,当加载图像时,我正在做某事.. . 举个例子: javascript:
function TestLoad() {
alert('before');
$('#ImgTest').attr('src', 'Images/Image1.jpg');
$('#ImgTest').load(function () {
alert('after');
});
}
html:
<img id = "ImgTest" alt="" src="" style="width:100px; height:100px"/>
<input type="button" onclick ="TestLoad();" value="TestLoad"/>
我的问题是: 当我第一次单击按钮时,我会收到一次“之后”的警报,如果我再次单击,警报将显示两次,第三次显示 3 次...
请多多指教 谢谢
【问题讨论】:
-
Read the docs -
.load在图像上使用时不可靠。 You need to do some magic. -
每次绑定到 load 事件时,除了之前的处理程序之外,您正在向 load 事件添加一个新的处理程序。为什么每次绑定都不触发一次?
-
@Blazemonger 有一种比该答案中建议的方法更好的方法,仅供参考。只需在更改 src 之前绑定 load 事件,那么无论它是否缓存在所有浏览器中,它都会始终触发。 :)
-
好的,感谢您的 cmets
标签: javascript jquery html