JavaScript& IE7 - 为什么我的* .onload = function(){}无法触发?

时间:2008-11-21 00:07:46

标签: javascript xhtml internet-explorer-7

我有一个画廊,我很快编写了一个小网站,在Firefox 3和Safari 3下工作正常。但是,当我测试我最好的朋友IE7时,似乎没有触发imageVar.onload = function(){// code here} ..我想用它来停止加载效果并加载图像。

请记住......

  • 我知道缩略图只是缩小版本的较大图片。当客户最终确定图像时,我将创建适当的缩略图。
  • 这是我第一次试图在大多数情况下尝试退出程序化的JavaScript ..所以请轻松一点,让我知道我的代码糟透了!

3 个答案:

答案 0 :(得分:5)

要成功使用Image.onload,必须在设置src属性之前注册事件处理程序方法。

本期相关信息:

<强> Javascript callback for Image Loading

答案 1 :(得分:2)

由于实施差异,跨浏览器事件支持并不那么简单。由于您在站点中使用jQuery,因此最好使用其事件方法来规范化浏览器支持:

而不是:

 window.load = function(){ 
      //actions to be performed on window load
 }

 imageViewer.image.onload = function(){ 
     //actions to be performed on image load
 }

执行:

$(window).load(function(){ 
    //actions to be performed on window load
});

 $(imageViewer.image).load(function(){ 
      //actions to be performed on image load
 });

答案 2 :(得分:0)

只是为了添加Eran建议使用jQuery的内置事件处理程序,您可以在加载文档并创建DOM但在下载图像之前运行代码:

$(document).ready(function(){
   //your code
});