ฉันกำลังพยายามแก้ไขข้อบกพร่องของเว็บไซต์และฉันคิดว่า jQueryUI อาจโหลดไม่ถูกต้อง จะทดสอบได้อย่างไรว่า jQueryUI โหลดแล้ว
ฉันกำลังพยายามแก้ไขข้อบกพร่องของเว็บไซต์และฉันคิดว่า jQueryUI อาจโหลดไม่ถูกต้อง จะทดสอบได้อย่างไรว่า jQueryUI โหลดแล้ว
คำตอบ:
if (jQuery.ui) {
  // UI loaded
}
หรือ
if (typeof jQuery.ui != 'undefined') {
  // UI loaded
}
ควรทำเคล็ดลับ
window.jQueryสำหรับ jQuery UI ฉันใช้การทดสอบwindow.jQuery.ui
                    jQuery is not defined
                    คุณต้องตรวจสอบว่ากำลังโหลดไฟล์jQuery UI LibraryและCSS Themeหรือไม่
jQuery UI สร้างคุณสมบัติบนวัตถุ jQuery คุณสามารถตรวจสอบ:
jQuery.ui
jQuery.ui.version
หากต้องการตรวจสอบว่ามีการโหลดไฟล์ CSS ที่จำเป็นหรือไม่ฉันขอแนะนำให้คุณใช้Firebugและมองหาไฟล์ธีมบนแท็บ CSS
ฉันเคยเห็นปัญหามาก่อนเมื่อผู้ใช้โหลดไลบรารี jQuery UI อย่างถูกต้อง แต่ธีม CSS หายไป
if( typeof jQuery().tooltip != "undefined" )
                    ฉันรู้ว่านี่เป็นคำถามเก่า แต่นี่คือสคริปต์เล็ก ๆ น้อย ๆ ที่คุณสามารถใช้เพื่อรวมสิ่งที่ jQuery UI ของคุณทั้งหมดที่ไม่มีเหตุการณ์ที่เกี่ยวข้องเพื่อให้แน่ใจว่าจะได้รับการดำเนินการหลังจากโหลด jQuery UI แล้วเท่านั้น:
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();
              เพียงทดสอบวัตถุ ui เช่น
<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>
<script>
  $(function(){
    // did the UI load?
    console.log(jQuery.ui);
  });
</script>
              คุณสามารถตรวจสอบว่า jQuery UI ถูกโหลดหรือไม่ได้หลายวิธีเช่น:
if (typeof jQuery.ui == 'undefined') {
   // jQuery UI IS NOT loaded, do stuff here.
}
หรือ
if (typeof jQuery.ui != 'function') {
    // jQuery UI IS NOT loaded, do stuff here.
}
หรือ
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");
}