, 사용할 수를 Wicket Jquery UI
HTML
<div wicket:id="dialog">[dialog]</div>
자바
MessageDialog dialog = new MessageDialog("dialog", "Warning", "Is it ok?",
DialogButtons.OK_CANCEL, DialogIcon.WARN)
{
protected void onClose(AjaxRequestTarget target, DialogButton button)
{
if(button != null && button.equals(LBL_OK))
{
//do something here
//note1: #equals() compare either DialogButton or String (button text)
//note2: predefined button text are:
//LBL_OK, LBL_CANCEL, LBL_YES, LBL_NO, LBL_CLOSE, LBL_SUBMIT
}
}
}
this.add(dialog); //TODO: open it, using dialog.open(target);
그리고 ESC 키가 잘 작동합니다. 이 내용을 보시려면 Wicket JQuery UI demo page
이것은 훨씬 더 깔끔하게 보입니다 - 감사합니다! 나는 당신의 솔루션 버전을 구현했다. (구현은 여러 ModalWindows와 동작해야하기 때문에 "버전"이라고한다. 그래서 JS에서 계속해서 ESC의 다음 프레스가 다음 모달 창을 닫을 수 있도록 열려있는 창 목록을 유지한다.) Chrome에 있지만 FF에서는 Firebug에서 http 요청 옆에 여전히 "중단"됩니다. modal.close()에 중단 점을 넣었지만 Firebug는 이미 요청이 중단되었다고보고합니다. – SlappyTheFish
플롯이 두껍습니다. getCallbackScript()에서 반환 된 JS의 양쪽면에 alert()을두면 FF로 작동합니다. – SlappyTheFish
FF로 ESC 키가 현재 요청을 죽이면 요청이 즉시 중단됩니다. keydown 이벤트는 e.preventDefault()를 호출하여 삼킬 수 있습니다. 답변을 업데이트하고 올바르게 표시해 드리겠습니다 - 감사합니다! – SlappyTheFish