测试 jQueryUI 是否已加载

我试图调试一个网站,我认为 jQueryUI 可能没有正确加载。如何测试 jQueryUI 是否已加载?

76217 次浏览

只测试 ui 对象,例如。

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

您需要检查两者是否都在加载 jQueryUI图书馆文件和 CSS 主题

JQuery UI 在 jQuery 对象上创建属性,您可以检查:

jQuery.ui
jQuery.ui.version

为了检查是否加载了必要的 CSS 文件,我建议您使用 纵火犯,并在 CSS 选项卡上查找主题文件。

我以前见过这样的问题,当用户正确加载 jQueryUI 库,但是缺少 CSS 主题时。

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

或者

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

应该能行

我知道这是一个老问题,但这里有一个快速的小脚本,你可以用它来包装所有没有相关事件的 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();

您可以通过以下方法检查 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");
}


您正在使用 jQuery 来检查 jQuery 是否存在。如果没有加载 jQuery,那么 $()根本不会运行,你的回调也不会执行,除非你正在使用另一个库,而这个库恰好共享相同的 $()语法。

window.onload = function(){
if(window.jQuery){
if(window.jQuery.ui){


}else{
console.log("jquery ui isn't loaded");
}
}else{
console.log("jquery isn't loaded");
}
}