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