我們最近有一個錯誤,jquery document.ready似乎在DOM加載之前被觸發。原來,有第一個項目後,一些錯誤的代碼,這是調用
$.ready(function(){});
看起來這聲明是燒製的document.ready事件。
下面是代碼樣本:
<script>
$(function(){
alert("loaded");
});
</script>
<ul>
<li> hello </li>
<script>
$.ready(function(){
});
</script>
<li> worldddd</li>
</ul>
這裏是一個的jsfiddle在這裏你可以看到DOM警報獲取的執行時,還沒有完全加載。
我的問題是爲什麼$。就緒()觸發DOM準備的事件?這是一個jQuery的「功能」,它允許你強制dom.ready事件觸發?
是的。 https://github.com/jquery/jquery/blob/1.9-stable/src/core.js#L397這是一種內部方法,不應該在jQuery核心之外使用,除非你知道它的作用,爲什麼它做到這一點,並有充分的理由使用它。但是,是的,它只是告訴jQuery DOM已經準備就緒。這是應用於DOMContentLoaded事件的處理程序。 –
如果我沒有弄錯,JQuery文檔頁面也不鼓勵使用:http://api.jquery.com/ready/ –
它不鼓勵使用'$()。ready','$ .ready '從未被提及。我猜想它公開可用的唯一原因是,如果需要它可以被覆蓋。 –