如何在JQuery对话框上按下ENTER按钮

时间:2011-02-27 04:50:39

标签: jquery jquery-dialog defaultbutton

我正在使用JQuery对话框。

我在下面的代码中打开了对话框。

  $('#MyLogin').dialog({
                autoOpen: true,
                width: 450,
                modal: true,
                draggable: false,
                title: $('.LoginpopupHeaderText').text(),
                close: function(event, ui) {showSelect();}
            });

当对话框打开时,其中有登录按钮,使用click事件验证其中的用户名和密码字段。请参阅下面的代码示例。

    //Login Button Clicked
    $('#loginButton').click(function()
    {   
            //Code goes here
        });

我的登录按钮是图像而不是按钮。

现在我想抓住“ Enter ”按钮,只有当我的登录对话框打开时以及在按下“Enter”按钮后它应该调用我的“ loginButton “点击事件,这样它就像我们在打开的对话框中点击了登录按钮一样。

请建议!

感谢。

最诚挚的问候,

2 个答案:

答案 0 :(得分:6)

您可以检查按钮是否可见

$('body').keyup(function(e) {
   if ($('#MyLogin').is(':visible') && e.which == 13) {
      //stuff
   }
});

答案 1 :(得分:1)

在div MyLogin 的“ onLoad ”事件中注册JS功能,例如

     <div id="MyLogin" onload="javascript:return checkKeyPress();" />

checkKeyPress 功能中,检查keyCode是否为13,提交表单,例如伪代码

    event.preventDefault() ;
    if (keyCode == 13 )
          frm.submit();

    return false;  

请记住 event.preventDefault 返回false 行是必须的,否则 KeyPress事件将传播到主表单/页面。希望这会有所帮助。