簡體   English   中英

為什么document.ready等待?

[英]Why document.ready waits?

我知道Document.ready- 不要等待圖像下載。

那么為什么在這里呢?

http://jsbin.com/ehuke4/27/edit#source

每次測試后-更改img SRC中v = xxx)

   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>    
  <script type="text/javascript">

        $(document).ready(function(){
        alert('0');
         });

    </script>

    </head>
      <body  >
        <img src='http://musically.com/blog/wp-content/uploads/2011/04/Google-Logo.jpg?v=42333'  />

    </body>

    </html>

我認為問題出在JSBin.com

因為,當您在JSFiddle.net上嘗試該示例時,它可以正常工作

http://jsfiddle.net/vqte9/

我認為這與您正在使用“ alert()”這一事實有關,盡管我不確定100%為什么。 如果您像這樣更改代碼:

  <body>
    <div id='x'></div>
    <img ...>
  </body>
  <script>
    $(function() { $('#x').text("hello there"); });
  </script>

您會看到在圖像加載之前已填充了文本。

編輯 -我不知道為什么會有所不同,但是當我使用以下方法設置就緒處理程序時,我注意到完全不同的行為:

$(function() { whatever; });

和:

$(document).ready(function() { whatever; });

現在不應該這樣了。 據我所知,這兩種形式應該做的完全一樣。 但是,它們似乎沒有。 是一個jsbin示例,它使用第一種形式設置了ready處理程序, 是使用第二種形式的示例處理程序。 他們對我的行為截然不同。 我將不得不檢查jQuery源以弄清楚這是如何做到的。

是jQuery文檔,解釋了$(handler)$(document).ready(handler)的等效性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM