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 的驼峰式大写是正确的。

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

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