使用dojo显示和隐藏dijit弹出窗口

时间:2015-01-09 12:29:03

标签: dojo

我使用以下方法创建了一个diji对话框:

<div id="popup" data-dojo-type="dijit.dialog" data-dojo-props="style:'width:350px;top:25px;display:none'"></div>

然后我使用

显示弹出窗口
popup.show();

弹出窗口是一个取消按钮,应关闭弹出窗口:

dojo.on(dojo.dom.byId("cancel"), "click", closePopup());

function closePopup(){
    popup.hide();
}

关闭它,但在关闭它并重新打开并关闭它后,我收到以下错误:

exception in animation handler for: onEnd
TypeError: cannot read calback property of undefined

我已经搜索了一个解决方案,我相信它与dojo.on方法有关并且断开了它?

任何帮助或建议都会很棒,谢谢。

修改

我试过这个:

function closePopup(){
    dojo.hitch(dojo.dom.byId("cancel"), baselinePopup.hide());
}

这有效:

require(["dojo/on", "dojo/_base/window"], function(on, win){
  var signal = on(win.doc, "click", function(){
    // remove listener after first event
    signal.remove();
    // do something else...
  });
});

1 个答案:

答案 0 :(得分:0)

require(["dojo/on", "dojo/_base/window"], function(on, win){
  var signal = on(win.doc, "click", function(){
    // remove listener after first event
    signal.remove();
    // do something else...
  });
});