Javascript load()回调函数多次激发
第一次正确执行代码时,它会生成:Javascript load()回调函数多次激发,javascript,ajax,jquery,Javascript,Ajax,Jquery,第一次正确执行代码时,它会生成: 装载完成 但它第二次产生: 加载完成 装载完成 它产生的第三次时间: 加载完成 加载完成 装载完成 等等。。。因此,加载函数完成回调函数的第20次被触发20次 $('#image-tag').load(function () { console.log("load complete"); }); }).attr('src', 'image.jpg').appendTo('#main'); 知道是什么导致回调函数像这样重复/增加了吗?这是
装载完成 但它第二次产生:
加载完成
装载完成 它产生的第三次时间:
加载完成
加载完成
装载完成 等等。。。因此,加载函数完成回调函数的第20次被触发20次
$('#image-tag').load(function () {
console.log("load complete");
});
}).attr('src', 'image.jpg').appendTo('#main');
知道是什么导致回调函数像这样重复/增加了吗?这是因为每次运行该代码时都要添加另一个事件处理程序 如果要将图像标记附加到元素中,则不应使用页面中已有的图像。改为创建新的图像标记:
$('<img/>').load(function () {
console.log("load complete");
}).attr('src', 'image.jpg').appendTo('#main');
$(“这就像是在单击处理程序内调用此函数或其他函数,每次都会绑定一个新的处理程序。可以绑定一次,也可以像这样使用:
$('#image-tag').one('load', function () {
console.log("load complete");
});
非常感谢。我一直忽略这样一个事实:将某些内容绑定到循环中的元素会导致第二次执行时出现问题。$(#img).unbind('load').load(function(){…});