Memanggil fungsi saat halaman javascript dimuat. Menjalankan banyak fungsi dalam onload

Jika Anda sudah lebih atau kurang tahu JavaScript, maka Anda mungkin pernah mendengar tentang event handler Memuat yang disebut memuat... Peristiwa ini dipicu segera saat halaman dimuat. Dan sangat sering, ketika halaman dimuat, beberapa fungsi harus dijalankan. Tetapi bagaimana jika Anda perlu? menjalankan beberapa fungsi JavaScript? Sebenarnya, pertanyaan seperti itu diajukan oleh salah satu pengguna di situs tersebut. Oleh karena itu tentang menjalankan banyak fungsi dalam onload, akan saya tulis di artikel ini.

Solusinya sangat sepele, cukup menjalankan fungsi di mana semua fungsi lain yang diperlukan diluncurkan:





Jika Anda membuka halaman ini(tidak ada hal penting seperti tag html atau, misalnya, judul dan penyandian halaman, agar kode lebih mudah dipahami), Anda akan melihat bagaimana fungsi akan bekerja saat halaman dimuat B () dan C ().



mengklik tombol saat memuat halaman (4)

Saya ingin menjalankan fungsi saat halaman dimuat, tetapi saya tidak ingin menggunakannya di .

Saya memiliki skrip yang berjalan jika saya menginisialisasi ke , Misalnya:

Kode fungsiAlamat () (// kode)

Tapi saya ingin menjalankannya tanpa dan saya mencoba banyak hal seperti:

Window.onload = codeAddress;

Tapi itu tidak berhasil.

Jadi bagaimana cara menjalankannya saat memuat halaman?

window.onload = function () (... dll. bukan jawaban yang bagus.

Ini mungkin akan berhasil, tetapi juga akan merusak fungsi lain yang sudah terhubung ke acara ini. Atau, jika fungsi lain menangkap acara ini setelah Anda, itu akan rusak. Jadi, Anda dapat menghabiskan berjam-jam kemudian mencoba mencari tahu mengapa sesuatu yang berfungsi tidak ada lagi.

Jawaban yang lebih andal di sini:

If (window.attachEvent) (window.attachEvent ("onload", yourFunctionName);) else (if (window.onload) (var curronload = window.onload; var newonload = function (evt) (curronload (evt); yourFunctionName ( evt);); window.onload = newonload;) else (window.onload = yourFunctionName;))

Beberapa kode yang saya gunakan lupa di mana saya menemukannya untuk memberikan kredit kepada penulis.

Function my_function () (// kode apa pun yang ingin saya jalankan setelah pemuatan halaman) if (window.attachEvent) (window.attachEvent ("onload", my_function);) else if (window.addEventListener) (window.addEventListener ("load ", my_function, false);) else (document.addEventListener (" load ", my_function, false);)

Semoga ini membantu :)

Alih-alih menggunakan jQuery atau window.onload, JavaScript asli telah mengambil alih beberapa fitur hebat sejak rilis jQuery. Setiap orang memiliki browser modern sekarang memiliki fungsi siap DOM sendiri tanpa menggunakan perpustakaan jQuery.

Document.addEventListener ("DOMContentLoaded", fungsi () (peringatan ("Siap!");), Salah);

window.onload = codeAddress; harus bekerja - dan kode lengkapnya adalah:

Tes

Tes

Lihatlah skrip domReady, yang memungkinkan Anda mengonfigurasi beberapa fungsi untuk dijalankan saat DOM dimuat. Ini pada dasarnya adalah apa yang Dom ingin lakukan di banyak perpustakaan JavaScript populer, tetapi ringan dan dapat diambil dan ditambahkan di awal Anda file eksternal naskah.

Contoh penggunaan

// tambahkan referensi ke skrip domReady atau tempatkan // isi skrip sebelum di sini berfungsi codeAddress () () domReady (codeAddress);

Hari ini saya ingin berbicara tentang satu masalah yang sering muncul bagi orang-orang yang baru mulai belajar Javascript.

Mereka mencoba berinteraksi dengan elemen HTML pada halaman yang kodenya lebih rendah daripada skrip itu sendiri. Dengan demikian, skrip telah dimuat, tetapi elemen untuk berinteraksi belum ada. Untuk alasan ini, tidak ada yang akan berhasil.

Keanehan Bahasa Javascript di mana kodenya dieksekusi secara berurutan, baris demi baris, seperti yang tertulis dalam kode sumber.

Berikut ini contohnya:

Dokumen tanpa judul

Aturan css (warna latar: kuning) tidak akan diterapkan ke elemen dengan id #block, karena garis

$("# blok").css("warna-latar belakang", "kuning");

Akan dieksekusi sebelum baris html dimuat:

Bagaimana jika kita perlu mengeksekusi kode atau fungsi hanya setelah seluruh dokumen terisi penuh?

Saya ingin berbicara tentang tiga cara bagaimana Anda dapat melakukan ini.

1 cara. Menggunakan perpustakaan Jquery.

Paling sering saya menggunakannya sendiri, solusi paling sederhana dan paling nyaman, tetapi membutuhkan perpustakaan Jquery untuk dihubungkan.

Berikut cara mengubah kode sebelumnya jika kita menggunakan metode berikut.

Dokumen tanpa judul

Metode 2. Dengan elemen body dan atribut onload.

Dokumen tanpa judul

Metode 3. Menggunakan objek window dan properti onload-nya.

Dokumen tanpa judul

Pilih metode yang paling sesuai dengan situasi Anda dan praktikkan.