Javascript 确认输入键上的Jquery UI对话框提示

Javascript 确认输入键上的Jquery UI对话框提示,javascript,jquery,jquery-ui,modal-dialog,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Modal Dialog,Jquery Ui Dialog,我已经尝试了以下堆栈中建议的技巧,答案是“不走运”: 我的代码一定有问题。登录时,我会弹出一条免责声明,警告用户在站点中找到的信息是机密的。我想让它继续,所有用户所要做的就是点击回车键。这是我的原始代码(我已经包含了一个浏览器检查): 下面是我使用keyup命令的代码: $("#loginForm").submit(function (e) { e.preventDefault(); if ($.browser.msie) { $("#dialog-confi

我已经尝试了以下堆栈中建议的技巧,答案是“不走运”:

我的代码一定有问题。登录时,我会弹出一条免责声明,警告用户在站点中找到的信息是机密的。我想让它继续,所有用户所要做的就是点击回车键。这是我的原始代码(我已经包含了一个浏览器检查):

下面是我使用keyup命令的代码:

$("#loginForm").submit(function (e) {
    e.preventDefault();

    if ($.browser.msie) {
        $("#dialog-confirm")
        .dialog({
            resizable: false,
            height: 300,
            width: 550,
            modal: true,
            buttons: {
                "Continue": function (e) {
                    $("#loginForm").unbind('submit').submit(),
                    $(this).dialog("close"),
                    $("#loginForm").submit();
                    $("#btnLogin").click();
                },
                Cancel: function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            },
  HERE>>>      open: function() { 
                $("#dialog-confirm").keypress(function(e) { 
                  if (e.keyCode == $.ui.keyCode.ENTER) { 
                    $("#loginForm").unbind('submit').submit(),
                    $(this).dialog("close"),
                    $("#loginForm").submit();
                    $("#btnLogin").click(); 
                  } 
                }); 
              } 
        })
    }
    else {
        $("#dialog-browser")
        .dialog({
            resizable: false,
            height: 220,
            width: 480,
            modal: true,
            buttons: {
                "Close": function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            }
        })
    };
});
不幸的是,这对我来说不起作用,我也不知道为什么?如果有人能看到问题所在,我将不胜感激


谢谢

如果对话框中没有任何可获得焦点的元素(即:输入元素),可以尝试此问题中建议的方法:

如果对话框中没有可获得焦点的元素(即:输入元素),可以尝试此问题中建议的方法:

尝试使用以下方法:

$("#dialog-confirm").keydown(function (event) {
        if (event.keyCode == 13) {
            // Submit it
        }
    });
尝试使用以下方法:

$("#dialog-confirm").keydown(function (event) {
        if (event.keyCode == 13) {
            // Submit it
        }
    });

我一天中大部分时间都把它放在一边,然后重新审视它。我让它工作了!这是我的密码:

$("#loginForm").submit(function (e) {
    e.preventDefault();

    if ($.browser.msie) {
        $("#dialog-confirm")
        .dialog({
            resizable: false,
            height: 300,
            width: 550,
            modal: true,
            buttons: {
                "Continue": {
                    text: "Continue",
                    id: "btnContinue",
                    click: function (e) {
                        $("#loginForm").unbind('submit').submit(),
                        $(this).dialog("close"),
                        $("#loginForm").submit();
                        $("#btnLogin").click();
                    }
                },
                Cancel: function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            },
            open: function () {
                $(document).keydown(function (event) {
                    if (event.keyCode == 13) {
                        $("#btnContinue").click();
                    }
                });
            }
        })
    }
基本上,我在对话框中为按钮分配了一个ID值,而不是$(“#dialog confirm”).keydown,我使用$(document).keydown。由于该函数仅在对话框打开后设置,因此它不一定会影响页面的其余部分。在keydown函数内部,我让它点击continue按钮,我通过ID调用它


谢谢大家的帮助。

我一天的大部分时间都把这个放在一边,然后重新审视它。我让它工作了!这是我的密码:

$("#loginForm").submit(function (e) {
    e.preventDefault();

    if ($.browser.msie) {
        $("#dialog-confirm")
        .dialog({
            resizable: false,
            height: 300,
            width: 550,
            modal: true,
            buttons: {
                "Continue": {
                    text: "Continue",
                    id: "btnContinue",
                    click: function (e) {
                        $("#loginForm").unbind('submit').submit(),
                        $(this).dialog("close"),
                        $("#loginForm").submit();
                        $("#btnLogin").click();
                    }
                },
                Cancel: function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            },
            open: function () {
                $(document).keydown(function (event) {
                    if (event.keyCode == 13) {
                        $("#btnContinue").click();
                    }
                });
            }
        })
    }
基本上,我在对话框中为按钮分配了一个ID值,而不是$(“#dialog confirm”).keydown,我使用$(document).keydown。由于该函数仅在对话框打开后设置,因此它不一定会影响页面的其余部分。在keydown函数内部,我让它点击continue按钮,我通过ID调用它


谢谢大家的帮助。

我也试过了,但对我无效?我的代码中是否有语法阻止它访问这些命令?我也尝试过,但它对我无效?我的代码中是否有语法阻止它访问这些命令?