dojo/on 在 clase postcreate 上触发点击事件

dojo/on click event is firing on clase postcreate

我正在尝试使用 dojo/on 为 dijit/form/button 设置一个 onclick 事件,但该函数不是在单击按钮时触发,而是在 class PostCreate 时触发事件被触发。

我的HTML定义按钮:

<button data-dojo-type="dijit/form/Button" id="btnLondon"
                type="button">
           London
        </button>

我正在尝试 link 在 class 的 Postcreate 被触发时启动 onclick 事件,但是当 postcreate 触发时,该函数在按钮被点击之前被调用。这是我的 javascript:

 postCreate: function () {
        submit = dojo.byId("btnSubmit");
        on(submit, "click", lang.hitch(this, this.Submit("London")));//this call is made to the  function right away

}

Submit: function(Name){
        alert(Name);
    },

知道为什么会这样吗?我的定义语句

中加载了 dojo/on

谢谢

皮特

this.submit("London") 语法意味着现在调用函数 this.submit,参数为“London”。这就是它在 postCreate 中被调用的原因。

相反,一个可能的适当语法是(小部件有一个“on”方法,您不必使用 dojo/on):

submit.on("click", lang.hitch(this, this.Submit, "London"));
...
Submit: function(name, evt){
    alert(name);
}