이 작업을보다 일반적으로 수행 할 수있는 조잡하지만 효과적인 방법 :
$.fn.dlg = function(options) {
return this.each(function() {
$(this).dialog(options);
$(this).keyup(function(e){
if (e.keyCode == 13) {
$('.ui-dialog').find('button:first').trigger('click');
}
});
});
}
그런 다음 새 대화 상자를 만들면 다음을 수행 할 수 있습니다.
$('#a-dialog').mydlg({...options...})
그리고 그 후 일반적인 jquery 대화 상자처럼 사용하십시오.
$('#a-dialog').dialog('close')
좀 더 특별한 경우에 작동하도록 개선 할 수있는 방법이 있습니다. 위의 코드를 사용하면 Enter 키를 누를 때 트리거되는 버튼으로 대화 상자의 첫 번째 버튼을 자동으로 선택합니다. 또한 주어진 시간에 하나의 활성 대화 상자 만 있다고 가정합니다. 그러나 당신은 아이디어를 얻습니다.
참고 : 위에서 언급했듯이 enter를 누르면 누른 버튼은 설정에 따라 다릅니다. 따라서 어떤 경우에는 .find 메소드에서 : first 선택기를 사용하고 싶거나 다른 경우에는 : last 선택기를 사용하고 싶을 수도 있습니다.