2
Ext.window가 있는데 사용자가 창에서 닫기 버튼을 클릭하거나 기본 [x]를 사용하여 창을 닫으려고하기 전에 확인 메시지를 표시하고 싶습니다. ] 버튼을 누르거나 Esc 키를 누르십시오. 나는이 목적을 위해 다음과 같은 코드를 가지고있다.Extjs : 창을 닫기 전에 확인 메시지가 필요합니다.
closeWindow: function(){
Ext.Msg.show({
title: 'Confirm or Cancel',
msg: 'Are you sure you want to close this window?',
buttonText: {ok: 'Yes', cancel: 'No'},
icon: Ext.Msg.WARNING,
scope: this,
width: 400,
fn: function(btn, text){
if (btn == 'ok'){
clearInterval(this.myIntervalTimer);
this.cleanEvents(null, null, this.identifier);
this.view.destroy();
} else {
return;
}
}
});
}
이 코드는 창에서 닫기 버튼을 클릭하면 올바르게 작동합니다. 그러나 기본 닫기 [x] 또는 esc 키를 누르면 extjs의 비동기 특성으로 인해 확인 메시지가 표시되기 전에 창이 사라집니다. 확인 메시지가 표시되면 창이 없으므로 관련성이 없어집니다. beforeClose 이벤트를 사용해 보았지만 사용하지는 못했습니다.
extjs에서 어떻게 달성 할 수 있는지 제안이나 아이디어?. 덕분에 ...
나는 이것을 시도하고 당신이 결과를 알려줍니다. 따라서이 리스너는 창이 닫힐 때마다 호출됩니다. 내 창에 닫기 버튼이 있고이 상황에서 close 버튼 핸들러에 대해 어떤 코드가 있어야합니까? 내가이 이벤트에 대해 this.close라고 말하면 확인 메시지가 처음 두 번 표시 될 가능성이 있기 때문입니다. 내 버튼 핸들러에서 this.close() 메소드의 일부로, 그리고 윈도우가 닫히기 전에 일어나는 디폴트 클로즈가된다. – user3546785
버튼 처리기로'win.close()'를 호출하면 충분합니다. 그 이벤트는 'beforeclose' 이벤트를 발생시켜 위의 로직 전체가 실행됩니다. – Saki
감사합니다 사키, 작동했습니다. 고마워요 ... – user3546785