Кнопка подключения Dojo внутри TooltipDialog - PullRequest
0 голосов
/ 22 июня 2011

У меня проблема с dojo.connect, когда я пытаюсь подключить dijit button к его 'onclick' методу, если кнопка является частью TooltipDialog контента.

Этот код не дает мне ошибок, но, похоже, не связывает событие (поэтому, если я нажимаю на кнопку, ничего не происходит).

dialog = new dijit.TooltipDialog({
            id: dialogPrefix + dialogId,
            content: content
        });
if (closeOnBlur) {
    // stuff
} else {
    dialog.setContent('<div class="closePopupWrapper"><button dojoType="dijit.form.Button" type="button" id="closePopup_' + dialogId + '" >X</button></div>' + dialog.content);
    dialog.getChildren().forEach(function(w) {
        if (w.id == 'closePopup_' + dialogId) {
        //------------THIS CONNECT DOESN'T WORK
        dojo.connect(
            w,
            "onclick",
            function(e) {
                if (this.open) {
                    dojo.enabu.main.animatedpopup.close(this);
                }
        });  
        //-----------------------------------
}

отладка, я вижу, что w - это правильная кнопка dijit, к которой мне нужно подключиться.

Есть идеи?

1 Ответ

1 голос
/ 22 июня 2011

Вам нужен правильный регистр в имени события, и это должно быть:

dojo.connect(w, "onClick" ....

Для обычных узлов DOM, таких как, регистр не имеет значенияНо так как событие нажатия кнопки dijit - это просто функция javascript в классе Button, необходим правильный регистр.

...