dijit.editor中的onchange事件以编程方式创建

时间:2012-06-15 20:34:01

标签: javascript html dojo

我以编程方式创建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或任何其他事件。

1 个答案:

答案 0 :(得分: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的驼峰大写是正确的。

编辑:这是一个声明性示例,以防您错过了一个或多个这些想法,但似乎您正在使用程序化路线,所以如果它适合您,可能会坚持使用第一个示例:

<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>