如果按钮是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按钮。
有什么想法吗?
答案 0 :(得分:1)
您需要在事件名称上使用适当的案例,而且应该是:
dojo.connect(w, "onClick" ....
对于常规DOM节点,如a,情况无关紧要。但由于dijit Button的click事件只是Button类中的一个javascript函数,因此需要适当的情况。