событие dojo / on click запускается на clase postcreate - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь настроить событие onclick для кнопки dijit / form / с помощью dojo / on, но вместо того, чтобы срабатывать при нажатии кнопки, функция срабатывает при запуске события класса PostCreate.

my HTML для определения кнопки:

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

Я пытаюсь связать событие onclick, когда Postcreate для класса запускается, но функция вызывается при срабатывании 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, загруженный в мой оператор определения

Спасибо

Пит

1 Ответ

1 голос
/ 14 июля 2020

Синтаксис 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);
}
...