2009-08-05 63 views
7

我看到人们一直在使用“window.onload”,但为什么? “窗口”部分不是完全多余的?JavaScript“window.onload” - 是否真的需要“窗口”?

+0

取决于PN您的环境中工作。 – EFraim 2009-08-05 20:48:19

+0

我应该说明我在窗口范围内。在窗口范围内,是不是就像使用window.document或窗口点什么一样多余? – jedmao 2009-08-05 21:02:11

+1

@sfjedi - 这是不值得的风险和不清晰。 – 2009-08-05 21:04:44

回答

8

如果你不这样做,那么onload方法将归因于当前对象,无论是(如果有的话)。所以有时候它可能会起作用,但是编写window.onload是最明确,最具体和最安全的方式。

+2

对。 “onload”并非专门用于窗口对象。它也可以用于图像和其他对象。因此,应始终指定窗口。 – DLH 2009-08-05 20:56:27

+3

JavaScript没有暗示这一点,所以如果它是一个局部变量或者你在“with([某个带有onload属性的对象])块中,它只会与另一个onload变量发生冲突。 – 2009-08-06 02:52:36

0

link text “加载事件在文档加载过程结束时触发,此时文档中的所有对象都在DOM中,并且所有图像和子框架都已完成加载。

需要先从整个DOM

0
<script type="text/javascript">  
    if(window.addEventListener){ 
     window.addhandler= function(who, which, what){ 
      return who.addEventListener(which, what, false); 
     } 
    } 
    else if(window.attachEvent){ 
     window.addhandler= function(who, which, what){ 
      return who.addEventListener('on'+which, what); 
     } 
    }   
    function somefunction(){ 
     alert('page loaded') 
    }  
    addhandler(window,'load',somefunction);  
</script> 
相关问题