我遇到了將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