0

dijit.Editorに問題があります。ドキュメントからDOMを削除して再追加すると、値がクリアされます。

これのテストはこのフィドルにあります:例のコメントされたアラートによると、値は追加後にクリアされています。エディターを削除した後も、メモリー内にあります。

「リロード」コードをに追加しようとしましたonLoadDeferred。ただし、エディターを再追加するときには呼び出されません。

アプリにフォーム全体を再追加しているため、自分でリロードを簡単に呼び出すことはできません。フォームの内容については何も知りません。

また、これはdijit.Editorの問題であると確信しています。javascriptで生成されたIframe(ここの例)を再追加してテストしましたが、機能しています。

助けてくれてありがとう!

4

1 に答える 1

1

iframe javascriptテストを変更して、iframeドキュメントに1回だけ書き込むようにしました。これは、Dijitエディターと同じように動作するようです。

毎回エディターの値を設定する必要があると思いますが、placeAt手動で行う必要はなく、次のいずれかを使用できます。

  1. dojo/aspect

    aspect.after(editor, "placeAt", lang.hitch(editor, function() {
        this.set("value", this.get("value"));
    }));
    
  2. dojo/declare

    var Editor = declare([DijitEditor], {
        placeAt: function() {
            this.inherited(arguments);
            this.set("value", this.get("value"));
        }
    });
    

jsFiddleで実際の動作を確認してください:http://jsfiddle.net/phusick/PXZk5/

于 2012-09-19T09:13:59.833 に答える