1

如何在 jQuery 加载并完全可用后创建警报?

4

5 回答 5

4
$(function(){
    alert("jQuery + DOM loaded.");
});

* (jQuery 包含在 . 中后立即可用<script>。)

于 2012-05-30T01:55:04.057 回答
1

如果您想知道script包含 jQuery 的元素何时完成加载...

document.addEventListener("load", function(event) {
    if (typeof jQuery == "function") {
        // jQuery is available.
    }
});

script在您的任何元素之前附加此事件侦听器。

于 2012-05-30T02:00:50.623 回答
1

我将向你展示如何做你想做的事,然后告诉你我的想法:

(function checkJquery() {
  if (typeof(jQuery) == 'undefined') {
    setTimeout(checkJquery, 500);
  }
  else {
    alert('jQuery is loaded.');
  }
})();

通常,当您使用 jQuery 时,您会将其包含<script><head>. 所有此类脚本都按照它们定义的顺序加载,因此如果您先加载它,它将可用于所有后续脚本。因此,您永远不需要检查它。

如果您发现自己在您的网站上使用了很多 javascript 功能,并且想确保检查所有模块依赖项,我建议您查看RequireJS

于 2012-05-30T02:05:31.253 回答
0

如果你还没有开始使用萤火虫。它非常有用。在 NET 选项卡中,您可以看到所有正在加载的文件、http 请求等所有内容。

于 2012-05-30T02:03:16.893 回答
0

浏览器在解析文档时按照找到它的顺序执行 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>
于 2012-05-30T02:09:47.850 回答