背景
使用 jQuery 模态对话框呈现表单。表单有一个自动完成字段。当用户从自动完成下拉菜单中选择一个选项时,表单会失去焦点。jQuery 对话框检测到 ESC 键,但从未检测到 ENTER 键。考虑几种形式之一(在同一页面上),具有各种按钮:
代码
用于检测何时按下 ENTER 键的源代码:
$(form).keyup(function( e ) {
// Submit and close when Enter key pressed by triggering the accept button.
//
if( e.keyCode == $.ui.keyCode.ENTER ) {
sequenceNumber = 0;
$(this).parent().find( "#accept" ).trigger( 'click' );
}
});
每当表单的任何字段具有焦点时,这都会按预期工作(触发“接受”按钮并且服务器接收值就好了)。
问题
当显示对话框但没有字段具有焦点时(例如,用户单击上图中的“鱼片”),然后按 ENTER,则不会触发 keyup 事件。
问题
当表单没有焦点但 jQuery 对话框仍然打开时,如何接收 ENTER 事件?(与 jQuery 对话框接收 ESC 键以取消和关闭对话框的方式相同。)
谢谢!