我在我的应用程序中使用了几个 requireJS 模块。当文档准备好时,我想在其中执行某些操作的模块很少(彼此独立)。
那么我可以在我的模块中使用 jquery 的 document.ready 吗?这是一个不好的做法。在 requireJS 模块中使用 document.ready 会导致问题吗?
我在我的应用程序中使用了几个 requireJS 模块。当文档准备好时,我想在其中执行某些操作的模块很少(彼此独立)。
那么我可以在我的模块中使用 jquery 的 document.ready 吗?这是一个不好的做法。在 requireJS 模块中使用 document.ready 会导致问题吗?
该文档很好地解释了它:
"使用 RequireJS 加载脚本的速度足够快以在 DOM 准备好之前完成是可能的。任何尝试与 DOM 交互的工作都应该等待 DOM 准备好。对于现代浏览器,这是通过等待DOMContentLoaded 事件。 "
但是对于不支持的旧浏览器DOMContentLoaded
,您可以下载给定的模块并执行以下操作:
require(['domReady!'], function (doc) {
//This function is called once the DOM is ready,
//notice the value for 'domReady!' is the current
//document.
});
因此,只需使用由require.js
而不是 JQuery 提供的工具。