2009-08-05 43 views
7

Tôi thấy mọi người sử dụng "window.onload" mọi lúc, nhưng tại sao? Không phải là "cửa sổ" một phần hoàn toàn thừa?JavaScript "window.onload" - là "cửa sổ" thực sự cần thiết?

+0

Phụ thuộc pn ngữ cảnh của bạn. – EFraim

+0

Tôi nên làm rõ rằng tôi đang ở trong phạm vi cửa sổ. Trong phạm vi cửa sổ, không phải là nó chỉ là thừa như sử dụng window.document hoặc cửa sổ dot bất cứ điều gì, cho rằng vấn đề? – jedmao

+1

@sfjedi - nó không có giá trị rủi ro và thiếu rõ ràng. –

Trả lời

8

Nếu không, thì phương pháp onload sẽ được gán cho đối tượng hiện tại, bất kể đó là gì (nếu có). Vì vậy, đôi khi nó có thể làm việc, nhưng viết window.onload là cách rõ ràng nhất, cụ thể và an toàn để làm điều đó.

+2

Phải. "onload" không được sử dụng riêng cho đối tượng cửa sổ. Nó có thể được sử dụng trên hình ảnh và các đối tượng khác. Do đó cửa sổ phải luôn được chỉ định. – DLH

+3

JavaScript không có ngụ ý điều này, do đó, nó sẽ chỉ va chạm với một biến tải trên nếu nó là một biến cục bộ hoặc bạn đang ở trong một khối "with ([some object with onload property]). –

0

link text "Sự kiện tải sẽ kích hoạt vào cuối quá trình tải tài liệu. Tại thời điểm này, tất cả các đối tượng trong tài liệu đều nằm trong DOM và tất cả hình ảnh và khung phụ đã tải xong."

cần phải bắt đầu làm việc với DOM đầy đủ

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> 
Các vấn đề liên quan