0

如果按钮是内容的一部分,dojo.connect当我尝试将 a 连接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 按钮。

有任何想法吗?

4

1 回答 1

1

您需要在事件名称上使用正确的大小写,应该是这样的:

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

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

于 2011-06-22T12:02:07.143 回答