【发布时间】:2011-09-03 22:30:17
【问题描述】:
我想知道,jQuery 加载后如何运行一些东西? jQuery 是否有“我准备好了”事件?
首先在我的 getls.js 中
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://example.com/setls.js';
document.getElementsByTagName('body')[0].appendChild(script);
然后在 setls.js 中
if (typeof jQuery == 'undefined') {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js';
document.getElementsByTagName('body')[0].appendChild(script);
}
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://example.com/ls.js';
document.getElementsByTagName('body')[0].appendChild(script);
ls.js
$("body").css("background-color", "green");
但是 ls.js 的加载速度比 jquery 快,并且告诉我 Uncaught ReferenceError: $ is not defined。我该如何处理这个事件?感谢您的帮助。
编辑:这是因为这个脚本类似于谷歌分析,你知道的。让用户只使用一行脚本并在他的代码中加载getls.js,这会让他很高兴(哦,酷,它只有 4 行?需要)。但我也必须检查 jQuery,因为我稍后会使用 jQuery,如果已经得到它,我无法再次加载它。在此之后我想使用它。
所以它不是关于document.ready 事件,文档在我开始加载 jQuery 之前就已经准备好了。
【问题讨论】:
-
首先为什么你没有加载 jquery 作为你的脚本声明的一部分并且你正在使用 jquery 为什么要使用文档对象及其方法.. :/
-
他还想动态加载jQuery。
标签: javascript jquery html loading dereference