Dojo 1.6.1을 사용 중입니다. 대화 상자 외부를 클릭하여 Dojo Dialog 's를 닫을 수 있도록하고 싶습니다. dijit._underlay 그것이 정의되지 않은 말을 다시오고 있기 때문에Outside Of Dojo 대화 상자 닫기
var dij = dijit._underlay.domNode;
dojo.connect(dij, "onclick", function(e) {
dojo.query('[role="dialog"]').forEach(function(element) {
if (element.className.match("dijit")) {
if(element.id)
{
var widget = dijit.byId(element.id);
if(widget._isShown() === true)
{
widget.hide();
}
}
}
});
});
그러나이 작동하지 않습니다 :이 작업을 수행 할 수있는 simpliest 방법 중 하나는 다음과 같은 일을하는 것입니다 같은 연구 후에, 그것은 보인다. 이 작업을 수행하기 위해 내가 누락되었거나 더 쉽게이 작업을 수행 할 수 있습니까?
업데이트 코드 업데이트 된 코드는 내 대화 상자에서 .show를 호출 한 후에 만 작동합니다. 이후에는 모두 그레이비입니다. 하나 이상의 대화 상자가 표시 될 때까지 언더 레이가 만들어지지 않은 것처럼 보입니다.
TooltipDialog를 사용해보십시오. 그것은 다른 UI를 가지고 있지만 행동은 당신이 찾고있는 것과 비슷합니다. – peller