Dojo/modal 类型的 Dojo 关闭和转义事件

问题描述

有人问过类似的问题。但是我为这些问题尝试了所有可能的解决方案,但没有一个奏效。我有一个 dojo 模式,我想同时捕获右上角的关闭事件“X”和“escape”按键事件。下面是我的代码。

<script>
    dojo.connect(dojo.byId("myDialog"),"onCancel",function(){
        alert("Hi");
    });
    document.body.addEventListener('keypress',function(e) {
          if (e.key == "Escape") {
            alert("Hi");
          }
        });

</script>

<div class="myDialogClass" id="myDialog" name="myDialog" role="dialog" style="display:none" dojoType="dijit/Dialog"  closeOnTimeOut="false" parseOnLoad="true" title="Title">
</div>

我尝试了以下所有解决方案,但没有一个奏效

1. dojo.connect(dojo.byId("myDialog"),"onHide"
 2. dojo.connect(dojo.byId("myDialog"),"hide"
 3. myDialog.connect(myDialog,"hide",function(e){
        dijit.byId("user_submit").destroy();  });
 4. <script type="dojo/method" event="onClose"> console.log('closed')
    </script>*,*<script type="dojo/method" event="onCancel">
    console.log('closed') </script>
 5. var myDialog = new Dialog({    id: "myDialogId1",onHide:
     function() {
           myDialog.destroy()    }
});

非常感谢任何帮助。

解决方法

我使用下面的代码解决了这个问题。

require(["dojo/on","dojo/ready","dijit/registry"],function(on,ready,registry) {

    ready(function() {
        var d = dijit.byId("myDialog")
        d.on('hide',function() {
            console.log('closed');
            location.reload();
        });
    });

});

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...