我们有一堆遗留页面。我们正试图将dojo注入其中。然而,我们发现,任何与“负载”的结合都会发生。事件,例如
window.addEventListener("load", handler)
无法执行。
我阅读了2006年的一些博客帖子,这些帖子表明dojo正在为加载事件做些事情,但他们是旧帖子,不确定它们是否仍然相关。
更改绑定以使用dojo / ready工作,但是有很多代码,我们希望不必彻底检查它。
是否无法在dojo中使用window.onload?
答案 0 :(得分:3)
它应该可以正常工作,所以以下内容应该有效:
window.addEventListener("load", function() {
console.log("Handled by using an event listener on the onload event");
});
window.onload = function() {
console.log("Handled by using the onload event");
};
甚至Dojo都有自己的模块来等待DOM加载:
require([ "dojo/domReady!" ], function() {
console.log("Handled by using the dojo/domReady module");
});
如果您想使用AMD并加载所需的模块,您可能希望使用dojo/domReady!
模块。
但是,如果您正在使用窗口小部件的声明性标记,那么您将不得不等到这些被解析,这是在>>加载DOM之后发生的,这是dojo/ready
模块对。
dojo/ready
模块不仅等待DOM加载,还等待所有声明性标记解析为小部件。