Menguji apakah jQueryUI telah dimuat

129

Saya mencoba men-debug situs web, dan saya pikir jQueryUI mungkin tidak dimuat dengan benar. Bagaimana saya bisa menguji apakah jQueryUI telah dimuat?

waiwai933
sumber

Jawaban:

243
if (jQuery.ui) {
  // UI loaded
}

ATAU

if (typeof jQuery.ui != 'undefined') {
  // UI loaded
}

Sebaiknya lakukan triknya

chrismacp
sumber
2
masalah saya adalah bahwa saya memuat jQuery dan jQuery.ui secara dinamis. Kadang-kadang banyak waktu, kadang tidak. Jika ui tidak dimuat, bagaimana saya bisa menunggu (atau memaksanya dimuat) sebelum memanggil metode apa pun?
Gabriel Diaconescu
17
tidak yakin apakah ini membuat banyak perbedaan, tetapi dengan uji Boilerplate untuk jquery, mereka menggunakannya window.jQueryuntuk jQuery UI Saya menggunakan teswindow.jQuery.ui
Tim B James
ini tidak bekerja untuk saya. dapat seseorang tolong lihat jsfiddle ini dan beri tahu saya jika saya melakukan sesuatu yang salah. jsfiddle.net/vEvYv/1 Saya mengharapkan pernyataan if saya dijalankan karena saya tidak memuat jQuery. kecuali, gagal di baris pertama. Jalankan halaman dengan konsol browser Anda terbuka (saya menggunakan FF) dan lihat barisjQuery is not defined
Dave Haigh
2
@DaveHaigh - Anda belum memuat JQuery. UI JQuery tergantung pada JQuery.
Chris Haines
16

Anda perlu memeriksa apakah keduanya, file Perpustakaan UI jQuery dan Tema CSS sedang dimuat.

jQuery UI membuat properti pada objek jQuery, Anda dapat memeriksa:

jQuery.ui
jQuery.ui.version

Untuk memeriksa apakah file CSS yang diperlukan dimuat, saya akan merekomendasikan Anda untuk menggunakan Firebug , dan mencari file tema pada tab CSS.

Saya pernah melihat masalah sebelumnya, ketika pengguna memuat dengan benar perpustakaan jQuery UI tetapi tema CSS tidak ada.

CMS
sumber
Untuk memeriksa apakah beberapa fungsionalitas tertentu dimuat, cek akan terlihat seperti (misalnya untuk tooltip) ........................ if( typeof jQuery().tooltip != "undefined" )
jave.web
7

Saya tahu ini adalah pertanyaan lama, tetapi di sini adalah skrip kecil cepat yang dapat Anda gunakan untuk membungkus semua hal jQuery UI Anda yang tidak memiliki acara terkait untuk memastikan mereka dieksekusi hanya setelah jQuery UI dimuat:

function checkJqueryUI() {
    if (typeof jQuery.ui != 'undefined') {
        do_jqueryui();
    }
    else {
        window.setTimeout( checkJqueryUI, 50 );
    }
}
// Put all your jQuery UI stuff in this function
function do_jqueryui() {
    // Example:
    $( "#yourId" ).dialog();
}
checkJqueryUI();
Mike
sumber
3

Cukup uji untuk objek ui, mis

<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>
<script>
  $(function(){
    // did the UI load?
    console.log(jQuery.ui);
  });
</script>
bdl
sumber
1

Anda dapat memeriksa apakah jQuery UI dimuat atau tidak dengan banyak cara seperti:

if (typeof jQuery.ui == 'undefined') {
   // jQuery UI IS NOT loaded, do stuff here.
}

ATAU

if (typeof jQuery.ui != 'function') {
    // jQuery UI IS NOT loaded, do stuff here.
}

ATAU

if (jQuery.ui) {
    // This will throw an error in STRICT MODE if jQuery UI is not loaded, so don't use if using strict mode
    alert("jquery UI is loaded");
} else {
    alert("Not loaded");
}


Tushar Shukla
sumber