the first time the code is executed it correctly produces:
load complete
but the 2nd time it produces:
load complete
load complete
the 3nd time it produces:
load complete
load complete
load complete
etc... so the 20th time the load function completes the call back function gets fired 20 times.
$('#image-tag').load(function () {
console.log("load complete");
});
}).attr('src', 'image.jpg').appendTo('#main');
any idea what's causing the call back function to repeat/increase like this?
解决方案
That's because you are adding another event handler every time you run that code.
If you want to append an image tag into an element, you should not use an image that already is in the page. Create a new image tag instead:
$('').load(function () {
console.log("load complete");
}).attr('src', 'image.jpg').appendTo('#main');