我正在使用RequireJS,需要在DOM上初始化一些东西。现在,RequireJS提供了domReady
插件,但是我们已经有了jQuery的$(document).ready()
,因为我需要jQuery,所以可以使用它。
所以我有两种选择:
使用
domReady
插件:require(['domReady'], function (domReady) { domReady(function () { // Do my stuff here... }); });
用途
$(document).ready()
:$(document).ready(function() { // Do my stuff here... });
我应该选择哪一个,为什么?
这两个选项似乎都能按预期工作。我对jQuery不满意,因为RequireJS在发挥作用。也就是说,由于RequireJS将动态添加脚本,因此我担心在所有动态请求的脚本加载之前可能已准备好DOM。而RequireJS只会domReady
在我已经需要jQuery时增加其他JS的负担。
问题
domReady
当我们可以使用jQuery时,为什么RequireJS提供一个插件$(document).ready();
?我看不到包含另一个依赖项的任何优势。- 如果只是为了满足需要,那为什么不为跨浏览器的AJAX提供一个呢?
据我所知,domReady
在文档准备好后,不会获取或执行需要的模块,您也可以执行同样的操作,需要jQuery:
require(['jQuery'], function ($) {
$(document).ready(function () {
// Do my stuff here...
});
});
更明确地说明我的问题:require domReady
或之间有什么区别jQuery
?
script
标记的位置,还是在编写其他人将使用的库/插件(因此,他们控制script
标记在标记中的位置)?
I am not confident in jquery's dom ready because requirejs is doing its magic.
因为,require是在有限的本地范围内封装jquery。那不是重点。(就问题而言)。
I am not confident in jquery's dom ready
我想将其标记为令人反感:p