Saya telah mempelajari JQuery baru-baru ini, dan perkara ini masih sangat luas dan mendalam Izinkan saya berkongsi ringkasan pembelajaran saya
Kaedah $(document).Ready() VS OnLoad event VS $(window).load() method
Terdapat banyak keburukan acara Body's Onload berbanding kaedah JQuery's Ready Contohnya:
1. Masalah memuatkan berbilang fungsi
<body onload="a();b();"> </body>
2. Kod dan kandungan tidak dipisahkan
Sudah tentu ini sangat menjijikkan -.-!!
Untuk acara Body.Onload, ia tidak akan dicetuskan sehingga semua kandungan halaman dimuatkan, saya maksudkan semua kandungan, termasuk gambar, flash, dll. Jika halaman mempunyai banyak kandungan, pengguna akan menunggu lama
Tetapi untuk beberapa aplikasi khas, seperti mengezum masuk dan keluar gambar dan memangkas gambar. Adakah ia perlu dilaksanakan selepas semua kandungan halaman web dimuatkan? Saya mengesyorkan menggunakan kaedah $(window).load() Kaedah ini tidak akan dicetuskan sehingga semua kandungan halaman dimuatkan dan ia tidak mempunyai kelemahan acara OnLoad.
<script type="text/javascript"> $(window).load(function() { alert("hello"); }); $(window).load(function() { alert("hello again"); }); </script>
Sudah tentu jangan lupa kaedah Punggah Muatan yang sepadan
$(window).unload(function() { alert("good bye"); });
Kod JS api sebelum semua DOM dimuatkan
Kaedah ini adalah kegemaran saya semasa menyahpepijat, dan kadangkala saya juga menggunakan kaedah ini semasa pembangunan
<body> <script type="text/javascript"> (function() { alert("hi"); })(jQuery) </script> </body>
<body> <div id="test">this is the content</div> <script type="text/javascript"> alert($("#test").html());//I Can display the content </script> </body> <body> <script type="text/javascript"> alert($("#test").html());//I Can't display the content </script> <div id="test">this is the content</div> </body>