【发布时间】:2014-06-15 01:36:21
【问题描述】:
我有以下问题:
我的网站在 head 部分加载 jQuery。它具有“异步”标志,因此它是异步加载的。 我已经使用 jQuery 编写了一些函数并没有处理内容。
当我在 jQuery 文件的末尾实现这个功能时,有时 jQuery 会在网站的整个 DOM 之前加载。这意味着我的函数找不到特殊元素并且不做任何事情。 如果我在 HTML 文件的末尾实现这个功能,当 DOM 已经加载时,网页已经完成但 jQuery 没有。然后我得到了没有定义jQuery引用的错误。
有谁知道我该如何解决这个困境? DOM和JS文件加载完毕后,异步加载JS并调用函数?
谢谢, 延斯
【问题讨论】:
-
不要异步加载jQuery?
-
让你的其他
script标签也异步? “当我在 jQuery 文件的末尾实现这个函数时,有时 jQuery 会在网站的整个 DOM 之前加载。” 我什至不会问你为什么将代码添加到 jQuery文件。但是,我希望您了解ready处理程序,它会在 DOM 加载后立即执行代码:learn.jquery.com/using-jquery-core/document-ready -
不都是关于 jQuery $(document).ready() 的吗?
-
@fallenPhantasm - 这不是
.ready的用途,因为如果没有加载 jQuery,$甚至将无法使用。 -
如果您打算异步加载,请使用“AMD”加载程序之一; Require.js 非常流行,但还有其他的——总之,这个“问题”已经解决了。 stackoverflow.com/questions/12117935/… , stackoverflow.com/questions/22951407/…
标签: javascript jquery html dom