我遇到了将HTML标记解析为Dojo窗口小部件的问题。这是我在做什么:Dojo内容窗格/选项卡解析问题
var tab = new dijit.layout.ContentPane({
title: "xyz",
parseOnLoad: false, //I am doing this intentionally
href: "some-relative-url"
});
tabPane.addChild(tab);
现在,如果我测试这与parseOnLoad = true,我得到我的小部件很好地加载。但是,我试图在将它转换为小部件之前处理HTML。所以我通过添加parseOnLoad:false选项来延迟解析。我绑定的函数被调用时,我的标签被加载(即Ajax调用完成),像这样的:
dojo.connect (tab, "onDownloadEnd", myFunction);
function myFunction() {
//manipulate the HTML code via this.content
dojo.parser.parse(this); //this doesn't do anything. I tried many variations!
}
,当我做到这一点的是,我最终加载的标签,但没有小部件会发生什么,只是标准的HTML控件。那么为什么不在这种情况下触发解析器,我能做些什么来使它在我操作的HTML上工作?
感谢
我不确定myFunction中的'this'是否是一个DOM节点,我认为它必须用于'parse()'做任何事情。尝试'dojo.parser.parse(this.get(“domNode”));' – Frode
有趣的是,我只是尝试类似的东西,它的工作,但没有足够的声誉来回答我自己的问题,所以我只能使用现在评论这里。这对我有用:dojo.parser.parse(this.domNode); – Ayyoudy