jquery - 检查 jQuery 和 jQuery UI 是否已加载

标签 jquery jquery-ui undefined loaded

您好,我需要使用 JavaScript 和 php 构建第 3 方小部件。 这个小部件将需要在 jQuery 和 jQuery UI 中使用,也许将来还需要在其他 jQuery 库和插件中使用。 所以当我的客户把这个小部件放到他的网站上时,我需要知道 jQuery 和 jQuery UI 是否已经加载,如果没有加载,我自己加载。 我构建了一些东西,但它不起作用。

    <script>
if (typeof jQuery == 'undefined') {  
    // jQuery is not loaded  
    //alert('jQuery is not loaded');
    var script = document.createElement('script');
    script.type = "text/javascript";
    script.src = "http://code.jquery.com/jquery-1.9.1.js";
    document.getElementsByTagName('head')[0].appendChild(script);

    var script_ui = document.createElement('script');
    script_ui.type = "text/javascript";
    script_ui.src = "http://code.jquery.com/ui/1.10.3/jquery-ui.js";
    document.getElementsByTagName('head')[0].appendChild(script_ui);

} else {
    // jQuery is loaded
    //alert('jQuery is loaded');
    if (typeof jQuery.ui !== 'undefined') {
        // ui plugin exists
        alert('ui plugin exists');
    } else {
        // ui plugin DOES NOT exist
        //alert('ui plugin DOES NOT exist');
        var script_ui = document.createElement('script');
        script_ui.type = "text/javascript";
        script_ui.src = "http://code.jquery.com/ui/1.10.3/jquery-ui.js";
        document.getElementsByTagName('head')[0].appendChild(script_ui);
    }
}
</script>

这工作正常,但是当我尝试使用 jQuery datepicker 时,我得到 ReferenceError: jQuery is not Defined。

    <script>
jQuery(document).ready(function() {
  // Handler for .ready() called.
    jQuery(function() {
        jQuery( "#datepicker" ).datepicker();
    });
});
</script>

即使没有 jQuery(document).ready(function() 它也不起作用

拜托...

最佳答案

如果我正确理解了问题,这应该可以解决问题,jQuery() 函数仅在已加载时才定义。

if (jQuery) { //jQuery is loaded }

您可以为您需要的功能执行此操作,无论是 jQuery、jQuery-ui 还是其他功能。

关于jquery - 检查 jQuery 和 jQuery UI 是否已加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613065/

相关文章:

javascript - 如何手动触发从 href 下载文件

jquery - 显示元素的最快方法

Cordova - cordova-uglify 插件在丑化时将内容更改为 'undefined'

Javascript - if(变量)检查 'undefined' 失败

javascript - 如果元素的内容等于指定值,则将类添加到元素

jquery - 我正在尝试使用 Twisted 和 jQuery(使用 Django)制作一个长轮询聊天应用程序。如何将查询传递回 JS?

jquery - 为什么 JQuery UI 自动完成样式减号 (-) 在选项中不正确

javascript - 如何为 jQuery 提示添加宽度属性?

jquery - 在 jquery 中包装 Accordion 的几个元素

javascript - 在javascript中为 undefined variable 设置默认值