Rumah  >  Artikel  >  hujung hadapan web  >  Adakah Terdapat Cara Alternatif untuk Memeriksa Kesediaan DOM dalam Javascript Tanpa Menggunakan Rangka Kerja?

Adakah Terdapat Cara Alternatif untuk Memeriksa Kesediaan DOM dalam Javascript Tanpa Menggunakan Rangka Kerja?

Barbara Streisand
Barbara Streisandasal
2024-10-20 10:23:301080semak imbas

Is There an Alternative Way to Check for DOM Readiness in Javascript Without Using Frameworks?

Menentukan Kesediaan Dokumen dalam Javascript

Soalan:

Adakah terdapat cara alternatif untuk menyemak untuk kesediaan DOM dalam Javascript, tanpa bergantung pada rangka kerja seperti prototaip atau jQuery?

Jawapan:

Pilihan 1: DOMContentLoaded Event

Acara DOMContentLoaded menyala apabila dokumen HTML awal telah dihuraikan dan DOM sedia untuk dimanipulasi. Untuk menggunakan acara ini:

function fireOnReady() { /* ... */ }
if (document.readyState === 'complete') {
    fireOnReady();
} else {
    document.addEventListener("DOMContentLoaded", fireOnReady);
}

Perhatikan bahawa acara ini hanya berlaku sekali apabila halaman dimuatkan.

Pilihan 2: Harta Sedia jQuery (Tidak Berdokumen)

jQuery mempunyai harta tidak berdokumen yang dipanggil isReady yang boleh digunakan untuk menyemak kesediaan DOM:

if($.isReady) {
    // DOM is ready
} else {
    // DOM is not yet ready
}

Walaupun harta ini boleh dipercayai, ia tidak didokumenkan secara rasmi dan mungkin dialih keluar dalam versi jQuery akan datang.

Pilihan 3: Semakan Keadaan Sedia Tersuai

Diinspirasikan oleh Dustin Diaz, anda boleh membuat coretan sedia DOM tersuai yang menyemak sifat document.readyState:

if( !/in/.test(document.readyState) ) {
    // document is ready
} else {
    // document is NOT ready
}

Ini berfungsi kerana sifat document.readyState melalui tiga keadaan pemuatan: "memuatkan", "interaktif", dan "lengkap". "Memuatkan" dan "interaktif" kedua-duanya mengandungi teks "dalam", menunjukkan bahawa DOM belum lagi sedia.

Atas ialah kandungan terperinci Adakah Terdapat Cara Alternatif untuk Memeriksa Kesediaan DOM dalam Javascript Tanpa Menggunakan Rangka Kerja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn