2011-10-13 75 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