ฉันกำลังพยายามแก้ไขข้อบกพร่องของเว็บไซต์และฉันคิดว่า 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");
}