有类似的问题,但它们无法帮助我解决此问题。
当对话框打开并按Enter时,我希望这等同于关闭对话框。
我写了以下内容,但它不起作用。而是,在每个ENTER上,焦点都停留在触发对话框打开的元素上,从而产生多个实例。
谢谢
var $dialogError = $('<div id="dialogError"></div>').html(vGraph.getLastErrorMsg()).dialog({
autoOpen: false,
open: function() {
$("#dialogError").keydown(function(e) {
alert("enter");
if (e.keyCode == $.ui.keyCode.ENTER) {
$(this).dialog("close");
}
});
},
title: 'Error'
});
$dialogError.dialog('open');
最佳答案
也许在打开对话框后使用$('#dialogError').focus();
将焦点设置为dialogError元素,这样焦点就不再位于打开对话框的元素上,它将捕获Enter键。