Dojo和onload事件

时间:2014-06-16 21:45:32

标签: javascript dojo

我们有一堆遗留页面。我们正试图将dojo注入其中。然而,我们发现,任何与“负载”的结合都会发生。事件,例如

window.addEventListener("load", handler)

无法执行。

我阅读了2006年的一些博客帖子,这些帖子表明dojo正在为加载事件做些事情,但他们是旧帖子,不确定它们是否仍然相关。

更改绑定以使用dojo / ready工作,但是有很多代码,我们希望不必彻底检查它。

是否无法在dojo中使用window.onload?

1 个答案:

答案 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加载,还等待所有声明性标记解析为小部件。