0

プログラムで dojo ウィジェット、dijit.editor を作成し、onchange イベントを追加して、このウィジェットのコンテンツを隠しフィールドにコピーしています。

コードは多かれ少なかれこれです:

<div id="myEditor" onchange="myFunction()"></div>

<script>
    dojo.require("dijit.Editor");

    dojo.ready(function(){
         new dijit.Editor({
         height: "60px",
         plugins: []
        }, "myEditor");
    });
</script>

しかし問題は、onchange イベントがトリガーされないため、myFunction が呼び出されず、隠しフィールドが更新されないことです。

皆さんへの私の質問は、このようなウィジェットをプログラムで作成する場合、onchange またはその他のイベントを追加する別の方法が必要かどうかです。

4

1 に答える 1

1

これは私のために働いた:

<script>
    dojo.require("dijit.Editor");

    dojo.ready(function () {
        var myEditor = new dijit.Editor({
            height: "60px",
            plugins: [],
            onChange: function () {
                alert("Hooray it worked!");
            }
        }, "myEditor");
    });
</script>



<div id="myEditor"></div>

onChange のキャメルケースの大文字化が正しいことを確認してください。

編集:これらのアイデアの1つ以上が欠けている場合の宣言的な例を次に示しますが、プログラムによるルートに進んでいるように見えるので、適切であれば最初の例に固執してください:

<script>
    dojo.require("dijit.Editor");

    dojo.ready(function () {
        dojo.parser.parse();
    });
</script>


<div data-dojo-type="dijit.Editor" id="myEditor" 
    data-dojo-props="onChange:function(){alert('It worked!');}">
</div>
于 2012-06-15T21:47:31.687 に答える