2011-10-13 86 views
3

当调用dojo.parse.parser(dom-id)来解析文档时,有没有办法找到dojo是否完成了解析?Dojo解析器 - 解析完成?

我不想依靠dojo.addOnLoad(),因为我自己调用解析器。

回答

1

我认为调用dojo.parser.parse是一个同步调用,意味着下一行只有在该函数完成解析小部件后才会执行。是否有任何特别的理由相信dojo.parser.parse(node)之后的代码在创建dom中的小部件之前执行?

虽然使用parseOnLoad: true属性是另外一个故事,但我不认为这适用于您的情况。

+0

你是对的。我的Javascript逻辑分散在HTML文件中。一旦我做了更改以在dojo.parser.parse()之后调用它,它就起作用了。感谢您的回复。 – Shriharsh

3

它做了一些不同的道场1.8:

...道场1.8可能会导致解析器以异步方式运行......

require(["dojo/parser", "dojo/_base/array"], function(parser, array){ 
    parser.parse().then(function(instances){ 
    array.forEach(instances, function(instance){ 
     // do something with instances 
    }); 
    }); 
}); 

http://dojotoolkit.org/reference-guide/1.8/dojo/parser.html