Cross-browser image onload event handling

后端 未结 1 1621
我寻月下人不归
我寻月下人不归 2020-12-10 20:56

In the jQuery docs for the load event http://api.jquery.com/load-event/, it says Can cease to fire for images that already live in the browser\'s cache. Is any

相关标签:
1条回答
  • 2020-12-10 21:41

    I'm not sure what browsers are affected, but it is easy to check for.

    var img = new Image();
    img.src = "foo.jpg";
    if (img.complete || img.readyState === 4) {
        // image is cached
        doneCallback();
    }
    else {
        $(img).on('load',doneCallback);
    }
    

    UPDATE

    If you change the code around, it will consistently fire a load event in all browsers.

    var img = new Image();
    $(img).load(doneCallback);
    img.src = "foo.jpg";
    
    0 讨论(0)
提交回复
热议问题