2014-05-22 54 views
0

我有一個簡單的問題給你。我有一個模板,我想在內部點擊時更改內部模板。 <div id="item-{#}"> Item {#} <img src="remove.png" id="close" onclick="$(this).parent().remove()"/> </div>問題 - 在ExtJS的textcontent div中的img

Ext.get("item-{#}").dom.textContent

當我寫這CONSOLE.LOG其答案是 「項{#}」 爲正常。

這是我的功能;

Ext.Msg.prompt('Change Note','Change your note',function(btn,text){ if (btn=='ok') { elVal.dom.textContent = text; } },null,true,elVal.dom.textContent);

點擊到「確定」按鈕後,該文本被成功改變,但我remove.png也刪除自身。爲什麼要去掉img標籤?

回答

0

直接操作DOM元素在ExtJS中並不常見。該庫在很大程度上從底層html中抽象出來。

在模板的情況下,你會打電話tpl.overwrite(target, data)如果你只有TPL(XTemplate的實例),或者panel.update(data)如果模板是面板的tpl配置選項。

此外,它看起來像你使用jQuery($變量)和ExtJS的組合 - 這通常是沒有必要的分機可以做的一切jQuery的可以加得多。

至於聽衆(點擊),它不應該像html標籤那樣安裝爲「onclick」屬性。最好是通過標準的Ext功能on將聽衆安裝在容器上。

+0

感謝您的重播。 'tpl.overwrite'拯救了我的生命:) – eyo