繁体   English   中英

jQuery .load()回调函数多次触发

[英]jQuery .load() callback function fires multiple times

第一次执行代码时它正确生成:
加载完成

但第二次产生:
加载完成
加载完成

它产生的第三次:
加载完成
加载完成
加载完成

等...所以第20次加载功能完成后,回调函数被触发20次。

$('#image-tag').load(function () {
        console.log("load complete");
    });
}).attr('src', 'image.jpg').appendTo('#main');

是什么导致回调功能重复/增加这样的?

它就像你在一个单击处理程序或其他东西中调用它,这每次绑定一个新的 .load()处理程序。 绑定.load()一次,或使用.one() ,如下所示:

$('#image-tag').one('load', function () {
    console.log("load complete");
});

那是因为每次运行该代码时都要添加另一个事件处理程序。

如果要将图像标记附加到元素中,则不应使用页面中已有的图像。 改为创建一个新的图片代码:

$('<img/>').load(function () {
  console.log("load complete");
}).attr('src', 'image.jpg').appendTo('#main');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM