Saya menggunakan RequireJS dan perlu menginisialisasi sesuatu di DOM siap. Sekarang, RequireJS menyediakan domReady
plugin , tetapi kami sudah memiliki jQuery $(document).ready()
, yang tersedia untuk saya karena saya memerlukan jQuery.
Jadi saya punya dua pilihan:
Gunakan
domReady
plugin:require(['domReady'], function (domReady) { domReady(function () { // Do my stuff here... }); });
Penggunaan
$(document).ready()
:$(document).ready(function() { // Do my stuff here... });
Mana yang harus saya pilih, dan mengapa?
Kedua opsi tersebut tampaknya berfungsi seperti yang diharapkan. Saya tidak yakin dengan jQuery karena RequireJS melakukan keajaibannya; yaitu, karena RequireJS akan menambahkan skrip secara dinamis, saya khawatir bahwa siap DOM mungkin terjadi sebelum semua skrip yang diminta secara dinamis dimuat. Padahal, RequireJS akan menambah beban pada JS tambahan hanya domReady
ketika saya sudah memiliki jQuery yang dibutuhkan.
Pertanyaan
- Mengapa RequireJS menyediakan
domReady
plugin ketika kita bisa memiliki jQuery$(document).ready();
? Saya tidak melihat keuntungan apa pun dari menyertakan ketergantungan lain. - Jika ini hanya untuk memenuhi kebutuhan, lalu mengapa tidak menyediakannya untuk AJAX lintas browser?
Sejauh yang saya tahu, modul yang membutuhkan domReady
tidak akan diambil atau dieksekusi setelah dokumen siap, dan Anda juga dapat melakukan hal yang sama yang membutuhkan jQuery:
require(['jQuery'], function ($) {
$(document).ready(function () {
// Do my stuff here...
});
});
Untuk lebih jelasnya pertanyaan saya: apa perbedaan antara Requirement domReady
atau jQuery
?
script
tag Anda pergi, atau apakah Anda menulis perpustakaan / plug-in yang akan digunakan orang lain (sehingga mereka mengontrol lokasi script
tag di markup)?
I am not confident in jquery's dom ready because requirejs is doing its magic.
Karena, Require adalah merangkum jquery dalam lingkup lokal yang terbatas. Bukan itu intinya. (sejauh pertanyaannya).
I am not confident in jquery's dom ready
saya ingin menandainya sebagai ofensif:p