Button 将单击事件动态设置为dojo按钮
我试图将点击事件动态设置为dijit/form/Button。 但是,我尝试的方法似乎不起作用Button 将单击事件动态设置为dojo按钮,button,dojo,dijit.form,Button,Dojo,Dijit.form,我试图将点击事件动态设置为dijit/form/Button。 但是,我尝试的方法似乎不起作用 <button id = "newActButton" data-dojo-type="dijit/form/Button" type = "button" data-dojo-props="iconClass: 'newActButtonIcon', label: 'New Act'"></button> dijit.byId("newActButton
<button id = "newActButton" data-dojo-type="dijit/form/Button"
type = "button"
data-dojo-props="iconClass: 'newActButtonIcon', label: 'New Act'"></button>
dijit.byId("newActButton").set("onClick", newActButtonOnClick());
dijit.byId(“newActButton”).set(“onClick”,newactbuttonnonclick());
我有一个函数newActButtonOnClick(),我想启动它。您可以尝试以下操作:
require(["dojo/on", "dojo/dom", "dojo/domReady!"],
function(on, dom) {
var newActButton = dom.byId("newActButton");
on(newActButton, "click", newActButtonOnClick);
});
它不起作用,因为您的代码中有一个错误(by.Id与byId): 应该是
dijit.byId("newActButton").set("onClick", newActButtonOnClick());
编辑
试试这个:
require(["dojo/parser", "dijit/form/Button"]);
<button data-dojo-type="dijit/form/Button" type="button">Click me too!
<script type="dojo/on" data-dojo-event="click" data-dojo-args="evt">
require(["dojo/dom"], function(dom){
dom.byId("result2").innerHTML += "Thank you! ";
});
</script>
</button>
<div id="result2"></div>
require([“dojo/parser”,“dijit/form/Button”]);
也点击我!
require([“dojo/dom”],函数(dom){
dom.byId(“result2”).innerHTML+=“谢谢!”;
});
Dojo的哪个版本?有什么原因不知道如何使用Dojo/on事件处理程序吗?我只是还看不出有什么区别。我是道场新手。使用dojo/on事件处理程序有什么特别的优点吗?有几个建议——使用dijit.byId
,因为正在使用的按钮是一个dijit小部件,使用widget#on
而不是全局on模块(dijit.byId('myButton')。on('click',function(){})
@buffalo您的建议是否与1.8版以后的版本相关?Well OP使用Dojo 1、7和dijit。u Widgeton,恐怕是的。oops,您是对的。我想直到1.8版(与Dojo/connect api相比),我才真正开始使用on
/emit
事件样式。对不起,这是一个输入错误。dijit.byId也不起作用
require(["dojo/parser", "dijit/form/Button"]);
<button data-dojo-type="dijit/form/Button" type="button">Click me too!
<script type="dojo/on" data-dojo-event="click" data-dojo-args="evt">
require(["dojo/dom"], function(dom){
dom.byId("result2").innerHTML += "Thank you! ";
});
</script>
</button>
<div id="result2"></div>