2011-02-27 41 views
1

我正在使用JQuery对话框。如何处理ENTER按钮按下JQuery对话框

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

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

当对话框打开,在它里面登录按钮,使用点击事件,验证它的用户名和密码字段。请参阅下面的代码示例。

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

我的登录按钮是一个图像不是按钮。

现在,我要赶“输入”按下按钮,只有当我登录对话框打开,以及醒目的“Enter”之后按钮,它应该叫我“loginButton”单击事件,所以它的行为就像我们在打开的对话框中单击登录按钮一样。

请建议!

谢谢。

最好的问候,

回答

6

您可以检查按钮可见

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

谢谢@Yads,我们不能使用对话框的“open:function()”,然后把焦点放到我的登录按钮上,这是图像,如果是的话,你能建议我该怎么做,因为我不能把重点放在它上面。 – 2011-02-27 05:29:51

+0

@MKS,这可能是可能的,请试试看。但是,当用户点击任何地方(如文本字段)时,您的建议解决方案就会中断。 – Vadim 2011-02-27 05:33:39

1

在DIV MyLogin例如你的 “的onLoad” 事件注册一个JS功能

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

checkKeyPress功能检查,如果键代码是13例如在提交表单伪

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

    return false; 

记住event.preventDefault返回假线是必须的,否则KeyPress事件将传播到主窗体/页。希望这会有所帮助。