测试 jQueryUI 是否已加载

IT技术 javascript jquery-ui
2021-02-23 21:20:54

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

5个回答
if (jQuery.ui) {
  // UI loaded
}

或者

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

应该做的伎俩

@DaveHaigh - 你还没有加载 JQuery。JQuery UI 依赖于 JQuery。
2021-04-28 21:20:54
我的问题是我动态加载 jQuery 和 jQuery.ui。它有时会及时加载,有时不会。如果 ui 未加载,在调用任何方法之前如何等待(或强制加载)?
2021-04-29 21:20:54
这对我不起作用。有人可以看看这个jsfiddle,如果我做错了什么,请告诉我。jsfiddle.net/vEvYv/1 我希望我的 if 语句的 else 能够运行,因为我没有加载 jQuery。除了,它在第一行失败。在浏览器控制台打开的情况下运行页面(我使用 FF)并查看该行jQuery is not defined
2021-05-14 21:20:54
不确定这是否有很大的不同,但是使用 Boilerplate 的 jquery 测试,他们使用window.jQueryjQuery UI 我使用测试window.jQuery.ui
2021-05-20 21:20:54

您需要检查是否正在加载jQuery UI文件和CSS 主题

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

jQuery.ui
jQuery.ui.version

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

我以前见过问题,当用户正确加载 jQuery UI 库但缺少 CSS 主题时。

要检查是否加载了某些特定功能,检查看起来像(例如工具提示)........................ if( typeof jQuery().tooltip != "undefined" )
2021-05-01 21:20:54

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