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();
});
});
});

最新更新