Pertanyaan:
Jika saya menautkan dalam dua file JavaScript, keduanya dengan $(document).ready
fungsi, apa yang terjadi? Apakah yang satu menimpa yang lain? Atau apakah keduanya $(document).ready
dipanggil?
Sebagai contoh,
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="http://.../jquery1.js"></script>
<script type="text/javascript" src="http://.../jquery2.js"></script>
jquery1.js:
$(document).ready(function(){
$("#page-title").html("Document-ready was called!");
});
jquery2.js:
$(document).ready(function(){
$("#page-subtitle").html("Document-ready was called!");
});
Saya yakin ini adalah praktik terbaik untuk hanya menggabungkan kedua panggilan menjadi satu $(document).ready
tetapi itu tidak mungkin dalam situasi saya.
javascript
jquery
rlb.usa
sumber
sumber
Jawaban:
Semua akan dieksekusi dan Dipanggil pertama kali dijalankan !!
Demo Seperti yang Anda lihat mereka tidak saling menggantikan
Juga satu hal yang ingin saya sebutkan
di tempat ini
Anda dapat menggunakan pintasan ini
sumber
jQuery(document).ready(function(){ });
Penting untuk dicatat bahwa setiap
jQuery()
panggilan harus benar-benar kembali. Jika pengecualian dilemparkan dalam satu, panggilan berikutnya (tidak terkait) tidak akan pernah dieksekusi.Ini berlaku terlepas dari sintaksis. Anda dapat menggunakan
jQuery()
,jQuery(function() {})
,$(document).ready()
, apa pun yang Anda suka, perilaku adalah sama. Jika yang awal gagal, blok berikutnya tidak akan pernah berjalan.Ini masalah bagi saya saat menggunakan perpustakaan pihak ke-3. Satu perpustakaan melempar pengecualian, dan perpustakaan berikutnya tidak pernah menginisialisasi apa pun.
sumber
$(document).ready
panggilan saya membuat kesalahan dan karena itu$(document).ready
fungsi yang berbeda tidak pernah dipanggil. Itu membuatku gila.$ (dokumen) .ready (); sama dengan fungsi lainnya. itu menyala setelah dokumen siap - yaitu dimuat. pertanyaannya adalah tentang apa yang terjadi ketika beberapa $ (dokumen). Sudah () dipecat bukan ketika Anda memecat fungsi yang sama dalam beberapa $ (dokumen). Sudah ()
keduanya akan berperilaku sama persis. satu-satunya perbedaan adalah bahwa meskipun yang pertama akan mencapai hasil yang sama. yang terakhir akan menjalankan sepersekian detik lebih cepat dan membutuhkan lebih sedikit pengetikan. :)
dalam kesimpulan jika memungkinkan hanya menggunakan 1 $ (dokumen) .ready ();
// jawaban lama
Mereka berdua akan dipanggil secara berurutan. Praktik terbaik adalah menggabungkan mereka. tapi jangan khawatir jika itu tidak mungkin. halaman tidak akan meledak.
sumber
Eksekusi dari atas ke bawah. Pertama datang pertama dilayani.
Jika urutan eksekusi itu penting, gabungkan mereka.
sumber
Keduanya akan dipanggil, pertama datang pertama dilayani. Coba lihat di sini .
Keluaran:
sumber
Bukan untuk necro utas, tetapi di bawah versi terbaru dari
jQuery
sintaks yang disarankan adalah:Menggunakan fungsi anonim, ini akan terlihat seperti
Lihat tautan ini:
https://api.jquery.com/ready/
sumber