在TooltipDialog中连接dojo按钮

时间:2011-06-22 10:52:19

标签: javascript javascript-events dojo dijit.form

如果按钮是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 个答案:

答案 0 :(得分:1)

您需要在事件名称上使用适当的案例,而且应该是:

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

对于常规DOM节点,如a,情况无关紧要。但由于dijit Button的click事件只是Button类中的一个javascript函数,因此需要适当的情况。