Jawaban:
document.ready
adalah acara jQuery, ini berjalan ketika DOM siap, mis. semua elemen ada untuk ditemukan / digunakan, tetapi tidak harus semua konten .window.onload
kebakaran nanti (atau pada saat yang sama dalam kasus terburuk / gagal) ketika gambar dan semacamnya dimuat, jadi jika Anda menggunakan dimensi gambar misalnya, Anda sering ingin menggunakan ini sebagai gantinya.$(window).on('load')
. Keduanya merujuk acara memuat .
it will run on ALL future calls of the function
?
$(document).ready
kode setelah DOM siap. Itu kasus penggunaan kecil sehingga mungkin tidak layak membingungkan semua orang dengan menyebutkannya. 2) LINGKUNGAN hanya menelepon $(document).ready(function(){})
satu kali, ketika DOM siap. Jika pengguna, karena alasan tertentu, mengeksekusi lebih banyak $(document).ready
setelah DOM siap, maka ya, itu akan dieksekusi segera.
$(document).ready(function() {
// executes when HTML-Document is loaded and DOM is ready
alert("document is ready");
});
$(window).load(function() {
// executes when complete page is fully loaded, including all frames, objects and images
alert("window is loaded");
});
The $(window).load()
TIDAK tersedia di jQuery 3.0
$( window ).load(function() {
// Handler for .load() called.
});
Untuk menyiasatinya, Anda dapat menggunakannya sebagai "Lampiran Handler Lampiran"
$( window ).on("load", function() {
// Handler for .load() called.
});
Perbedaannya adalah:
$(document).ready(function() {
adalah jQuery event yang dipecat ketika DOM dimuat, jadi dipecat ketika struktur dokumen siap.
$(window).load()
acara dipecat setelah seluruh konten dimuat.
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$( document ).ready(function() {
alert( "document loaded" );
});
$( window ).load(function() {
alert( "window loaded" );
});
</script>
</head>
<body>
<iframe src="http://stackoverflow.com"></iframe>
</body>
</html>
window.load akan dipicu setelah semua konten iframe dimuat
$(document).ready
terjadi ketika semua elemen hadir di DOM, tetapi tidak harus semua konten.
$(document).ready(function() {
alert("document is ready");
});
window.onload
atau $(window).load()
terjadi setelah semua sumber daya konten (gambar, dll) telah dimuat.
$(window).load(function() {
alert("window is loaded");
});
Dari jquery prosp - hanya menambahkan load
/onload
acara ke jendela dan dokumen. Lihat ini:
document.ready (jQuery) document.ready akan mengeksekusi tepat setelah dokumen HTML dimuat properti, dan DOM siap.
DOM: Document Object Model (DOM) adalah konvensi lintas-platform dan bahasa-independen untuk mewakili dan berinteraksi dengan objek dalam dokumen HTML, XHTML dan XML.
$(document).ready(function()
{
// executes when HTML-Document is loaded and DOM is ready
alert("(document).ready was called - document is ready!");
});
window.load (JavaScript Bawaan) Bawaan) Akan tetapi window.load akan menunggu halaman dimuat penuh, ini termasuk frame bagian dalam, gambar dll. * window.load adalah metode JavaScript bawaan, diketahui memiliki beberapa kebiasaan di browser lama (IE6, IE8, FF lama dan versi Opera) tetapi umumnya akan bekerja di semuanya.
window.load dapat digunakan dalam acara onload tubuh seperti ini (tapi saya sangat menyarankan Anda menghindari pencampuran kode seperti ini di HTML, karena nanti akan menjadi sumber kebingungan):
$(window).load(function()
{
// executes when complete page is fully loaded, including all frames, objects and images
alert("(window).load was called - window is loaded!");
});
$ (window) .load adalah peristiwa yang menyala ketika DOM dan semua konten (semuanya) di halaman dimuat sepenuhnya seperti CSS, gambar, dan bingkai. Salah satu contoh terbaik adalah jika kita ingin mendapatkan ukuran gambar yang sebenarnya atau untuk mendapatkan detail dari apa pun yang kita gunakan.
$ (dokumen) .ready () menunjukkan bahwa kode di dalamnya perlu dieksekusi setelah DOM dimuat dan siap untuk dimanipulasi oleh skrip. Ini tidak akan menunggu gambar dimuat untuk mengeksekusi skrip jQuery.
<script type = "text/javascript">
//$(window).load was deprecated in 1.8, and removed in jquery 3.0
// $(window).load(function() {
// alert("$(window).load fired");
// });
$(document).ready(function() {
alert("$(document).ready fired");
});
</script>
$ (window) .load dipecat setelah $ (dokumen) .ready ().
$ (window) .load sudah tidak digunakan lagi di 1.8, dan dihapus di jquery 3.0
Saya pikir $(window).load
acara ini tidak didukung oleh JQuery 3.x
Menurut DOM Level 2 Acara, load
acara ini seharusnya menyala document
, bukan menyala window
. Namun, load
diimplementasikan pada window
semua browser untuk kompatibilitas ke belakang.
$(document).ready(function(){})
ini$(function(){})
dan perbedaan penting lain dari window.load adalah bahwa hal itu akan berjalan pada semua panggilan masa depan fungsi, bahkan setelah DOMready awal.