您好,我需要使用 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/