将click事件动态设置为dojo按钮

时间:2013-07-30 20:30:04

标签: button dojo dijit.form

我试图将一个on click事件动态设置为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").set("onClick", newActButtonOnClick());

我有一个函数newActButtonOnClick(),我想触发它​​。

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

require(["dojo/on", "dojo/dom", "dojo/domReady!"],
    function(on, dom) {
        var newActButton = dom.byId("newActButton");

        on(newActButton, "click", newActButtonOnClick);
});

Here's tutorial

jsfiddle

答案 1 :(得分:0)

它不起作用,因为您的代码中有错误(by.Id VERSUS byId):

dijit.by.Id("newActButton").set("onClick", newActButtonOnClick());

应该是

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>