$(document).ready()和window.onload之间的差异
最近使用$(document).ready(function(){})遇到一個問題:加載頁面后發送數據請求后臺,得到的數據不對,后發現請求后臺時,發送的數據為空,沒有獲取到值導致的。------改成window.onload = function(){}或者$(window).load(function(){})就可以了。現總結一下這一塊的知識點。
?
如何選擇$(document).ready()和window.onload請結合實際情況進行判斷。
$(document).ready()和window.onload之間的區別:
1.執行時間
window.onload = function(){}? -------- 頁面上所有的元素(包括圖片,文件)加載完成之后執行,jquery的寫法是$(window).load(function(){})
$(document).ready(function(){})? ------- 頁面上DOM結構繪制完成之后執行,可以簡寫成$(function(){})。
頁面會先執行$(document).ready(),然后執行window.onload。
2.執行次數
window.onload = function(){} ------ 只執行一次,如果定義多個時,只會執行最后一個定義的方法;如果想執行多個方法,可以使用$(window).load(function(){}) (會按照定義順序執行)
$(document).ready(function(){}) ---- 可以執行多次,頁面編寫多個$(document).ready()方法時,按照定義順序依次執行
<script> window.onload = function(){alert("onload11"); } window.onload = function(){alert("onload22"); } $(window).load(function() {alert("load11"); }); $(window).load(function() {alert("load22"); }); $(document).ready(function() {alert("ready22"); }); $(document).ready(function() {alert("ready11"); }); </script>彈出的順序為? ?ready22? ----->? ready11? ----->? onload22? ----->? load11 ----->? load22
轉載于:https://www.cnblogs.com/wjmm/p/8073937.html
總結
以上是生活随笔為你收集整理的$(document).ready()和window.onload之间的差异的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单例模式中的线程安全问题
- 下一篇: 装双系统出现winload.efi,也就