0

我正在尝试将点击事件动态设置为 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(),我想触发它​​。

4

2 回答 2

1

你可以尝试这样的事情:

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

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

这里是教程

jsfiddle

于 2013-07-30T21:18:12.640 回答
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>
于 2013-07-31T09:14:55.340 回答