是否可以在JQuery对话框上为ESC键设置自定义处理程序?
答案 0 :(得分:13)
是的,这是可能的。
将closeOnEscape
选项设置为false
,并在对话框的keydown
处理程序中的.ui-dialog
元素上注册您自己的dialogcreate
处理程序。
$(element).dialog({
create: function() {
$(this).closest('.ui-dialog').on('keydown', function(ev) {
if (ev.keyCode === $.ui.keyCode.ESCAPE) {
...
}
});
...
},
closeOnEscape: false,
...
});
答案 1 :(得分:7)
我用另一种方式:
$(element).dialog({
beforeClose: function(event) {
if (event.keyCode === $.ui.keyCode.ESCAPE) {
// ...
return false;
}
}
});
答案 2 :(得分:1)
$(selector-for-dialog).keyup(function(e) {
// ESC key
if ( e.keyCode === 27 ) {
// custom action
}
});