用于由Ajax加载的内容的onload

时间:2015-07-05 09:13:51

标签: jquery onload

我正在使用jQuery-load将内容加载到div容器中。不幸的是,当内容完全插入时,回调就会触发。此时不能确保图像完全加载。但是我需要对需要完全加载的图像进行一些修改。不幸的是,div容器不支持onload监听器。为每个图像标记注册一个监听器会变得太复杂(我可以找到一个基于PHP的解决方案)。这个问题有一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:0)

在进一步思考这个问题后,我发现使用图像的加载事件并不像我认为的那样复杂。原因是我的行为是指图像本身。我找到了以下解决方案:

    function setcss(im) {
        wdth = im.width();
        if (calcSupport) var imcss = { maxWidth: wdth + "px", width: "calc(100% - 105px)", height: "auto" };
        else var imcss = { width: "70%", height: "auto" }
        im.css(imcss);
    }
    $(sel + " img[src*='.jpg']").each(function () {
        var im = $(this)
        im.on("load", function () {
            setcss(im);
        });
        // Check if image is already loaded (browser might have had it in cashe)
        if (im.get(0).complete) { setcss(im); console.log("already loaded"); }
    });