javascript - 为什么这个onload函数不运行?

标签 javascript image events onload

为什么onLoad没有被触发?

      function FULL_IMAGE(fimage){
        document.getElementById("FULL_SRC").onLoad = function(){
          offsetTop = document.getElementById("FULL_SRC").height / 2;
          offsetLeft = document.getElementById("FULL_SRC").width / 2;
          document.getElementById("FULL_SRC").style.marginTop="-"+offsetTop+"px";
          document.getElementById("FULL_SRC").style.marginLeft="-"+offsetLeft+"px";
        }
        document.getElementById("FULL_SRC").src=fimage;
        document.getElementById("FULL_VIEW").style.display="block";
      }

最佳答案

有时当从浏览器缓存中检索图像时,不会触发 onload 事件,因此您可以做一些 hack:

function FULL_IMAGE(fimage) {
    var loaded = false;
    function loadHandler() {
        if (loaded) {
            return;
        }
        loaded = true;
        /* your code */
    }
    var img = document.getElementById('FULL_SRC');
    img.addEventListener('load', loadHandler);
    img.src = fimage;
    img.style.display = 'block';
    if (img.complete) {
        loadHandler();
    }
}

关于javascript - 为什么这个onload函数不运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5933230/

相关文章:

javascript - JQuery - 更改事件链接颜色

javascript - Selenium WebDriver 崩溃(WebDriverError : newSession) after about 70 seconds

java - 如何在JAVA中旋转图像?

javascript - 为什么 mouseout 处理程序在这种情况下表现得如此不合逻辑?

javascript - 使用javascript填充 Angular 输入

javascript - 将服务器变量设置为 mongo 集合 Meteor.js 中保存的数据

javascript - 如何避免用 JS 显示的图片出现不必要的行距?

ios - 访问核心数据镜像中的外部数据引用属性

c# - 如何从 WPF KeyDown 事件中获取普通字符?

javascript - 用户触发的 'click'事件回调的执行与编程触发的有什么区别?