如何在 jQuery 加载并完全可用后创建警报?
5 回答
$(function(){
alert("jQuery + DOM loaded.");
});
* (jQuery 包含在 . 中后立即可用<script>
。)
如果您想知道script
包含 jQuery 的元素何时完成加载...
document.addEventListener("load", function(event) {
if (typeof jQuery == "function") {
// jQuery is available.
}
});
script
在您的任何元素之前附加此事件侦听器。
我将向你展示如何做你想做的事,然后告诉你我的想法:
(function checkJquery() {
if (typeof(jQuery) == 'undefined') {
setTimeout(checkJquery, 500);
}
else {
alert('jQuery is loaded.');
}
})();
通常,当您使用 jQuery 时,您会将其包含<script>
在<head>
. 所有此类脚本都按照它们定义的顺序加载,因此如果您先加载它,它将可用于所有后续脚本。因此,您永远不需要检查它。
如果您发现自己在您的网站上使用了很多 javascript 功能,并且想确保检查所有模块依赖项,我建议您查看RequireJS
如果你还没有开始使用萤火虫。它非常有用。在 NET 选项卡中,您可以看到所有正在加载的文件、http 请求等所有内容。
浏览器在解析文档时按照找到它的顺序执行 JS,包括外部脚本中的 JS。因此 jQuery 将在<script>
包含它的元素之后立即加载并“完全可用”,您可以在该元素之后立即发出警报<script>
:
<script type="text/javascript" src="jquery.js"></script>
<script>
if (jQuery)
alert("jQuery is now loaded");
</script>
我已经包含了该if (jQuery)
部分,因为如果 jquery.js 的路径不正确或出现其他问题以阻止文件加载,那么(显然)jQuery 将不可用。但在正常情况下,该if
测试会成功。
如果您想实际操作页面上的 DOM 元素,那么您需要在这些元素之后、jQuery document.ready 处理程序或 onload 处理程序中包含执行此操作的脚本:
<script>
$(document).ready(function() {
alert("jQuery is loaded, and the DOM is ready too.");
});
</script>