Javascript dijit.Editor';在重新附加后,s被清除

Javascript dijit.Editor';在重新附加后,s被清除,javascript,dom,dojo,Javascript,Dom,Dojo,我对dijit.Editor有问题。从文档中删除它的DOM并重新追加后,它的值被清除 这方面的测试是: 根据示例中已注释的警报,该值在追加后被清除。删除编辑器后,它仍在内存中 我试图将“重新加载”代码添加到onLoadDeferred。但在重新结束编辑器时不会调用它 我自己无法轻松调用重载,因为我正在应用程序中重新添加整个表单。我对表格的内容一无所知 另外,我很确定这是dijit.Editor的问题。我测试了重新加载javascript生成的Iframe(),它正在工作 谢谢你的帮助 我修改了您

我对dijit.Editor有问题。从文档中删除它的DOM并重新追加后,它的值被清除

这方面的测试是: 根据示例中已注释的警报,该值在追加后被清除。删除编辑器后,它仍在内存中

我试图将“重新加载”代码添加到
onLoadDeferred
。但在重新结束编辑器时不会调用它

我自己无法轻松调用重载,因为我正在应用程序中重新添加整个表单。我对表格的内容一无所知

另外,我很确定这是dijit.Editor的问题。我测试了重新加载javascript生成的Iframe(),它正在工作

谢谢你的帮助

我修改了您的脚本,使它只向iframe文档写入一次,而且它的行为似乎与Dijit编辑器相同

我认为每次
placeAt
it时,您都必须设置编辑器的值,但您不必手动执行,您可以使用以下选项之一:

  • :

  • :


  • 在jsFiddle上看到它的作用:

    现在我觉得自己很笨。我的iframe测试非常糟糕。感谢您指出这一点,也感谢您提供了非常好的解决方案。
    aspect.after(editor, "placeAt", lang.hitch(editor, function() {
        this.set("value", this.get("value"));
    }));
    
    var Editor = declare([DijitEditor], {
        placeAt: function() {
            this.inherited(arguments);
            this.set("value", this.get("value"));
        }
    });