我正在运行一个函数,如果它被加载,需要关闭一个Dojo对话框.如何检查dojo对话框是否正在运行?如果未定义,我是否使用纯JavaScript并按ID检查?
if (dijit.byId("blah") !== undefined) {
destroyRecursive dijit;
}
或者我使用对话框对象的属性,如:
isFocusable method
isLoaded property
解决方法:
你可能要检查Dialog provides two properties:isLoaded并打开.通过挖掘代码,您将找到以下描述:
> open:如果屏幕上当前显示Dialog,则为True.
> isLoaded:如果ContentPane中包含数据,则为True,在初始化期间指定(通过href或内联内容),或者通过attr(‘content’,…)/ attr(‘href’,…)设置为False if它没有任何内容,或者如果ContentPane仍在下载href的过程中.
所以,你可以:
var dialog = dijit.byId("blah");
if( dialog.open ) {
dialog.destroy();
}