domReady
插件,但我们已经有了jQuery的$(document).ready()
,由于我已经要求了jQuery,它也对我可用。因此,我有两个选项:
Use the
domReady
plugin:require(['domReady'], function (domReady) { domReady(function () { // Do my stuff here... }); });
Use
$(document).ready()
:$(document).ready(function() { // Do my stuff here... });
我应该选择哪个,为什么?
两个选项都能正常工作。我不太确定jQuery的选项是否可靠,因为RequireJS会发挥其魔力;也就是说,由于RequireJS将动态添加脚本,我担心DOM准备好之前可能会加载所有动态请求的脚本。而且,当我已经需要jQuery时,RequireJS会增加额外的JS负担,只为了domReady
。
问题
- 为什么RequireJS提供了一个
domReady
插件,当我们可以使用jQuery的$(document).ready();
?我看不出包含另一个依赖项的任何优点。 - 如果只是为了满足需求,那么为什么不为跨浏览器AJAX提供一个呢?
据我所知,需要domReady
的模块在文档准备好后不会被获取或执行,你也可以同样需要jQuery:
require(['jQuery'], function ($) {
$(document).ready(function () {
// Do my stuff here...
});
});
为了更清楚地阐述我的问题:需要domReady还是需要jQuery有什么区别?
script
标签的位置,或者你正在编写一个其他人将使用的库/插件(因此他们控制标记中script
标签的位置)? - T.J. Crowder