in my html page, i have an image, and on clicking a button, i’m calling the function TestLoad() where it is changing the src of the image and when the image is loaded i’m doing something…
take an example:
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"/>
my problem is:
when i click the button for the first time, i’m getting the alert “after” one time and if i click another time, the alert will be displayed two time and the third, 3 times…
Kindly advice
Thanks
Each time your handler executes, it adds another new load handler. You only need to assign the handler a single time. If you really need to do it this way, you can either remove the existing handlers first or check the events to see if it’s already being handled:
Or: