有类似的问题,但它们无法帮助我解决此问题。

当对话框打开并按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键。

09-25 15:20