2012-03-12 128 views
0

我有一个窗体上的jQueryUI按钮(不是模态对话框)。我想在用户点击Enter键时触发它。我怎样才能做到这一点?这里是我的代码:jQueryUI按钮上的默认按钮上按Enter键

HTML:

<a href="javascript:void(0);" id="loginButtonInner">Login</a> 

JS:

$(document).ready(function() 
{ 
    $("#loginButtonInner").button(getButtonOptions("ui-icon-unlocked", true)); 
    $("#loginButtonInner").button("option", "disabled", true); 
    $("#loginButtonInner").unbind("click"); 
} 

.... 

if (userNameValid && passwordValid) 
    {  
     $("#loginButtonInner").button("option", "disabled", false); 
     $("#loginButtonInner").unbind("click").bind("click", function() { authenticateUser(); return false; }); 
    } 
    else 
    {  
     $("#loginButtonInner").button("option", "disabled", true); 
     $("#loginButtonInner").unbind("click"); 
    } 

目前,我必须标签通过键盘来达到按钮或通过鼠标点击。

我在网上搜索解决方案,但他们都指向一个模式对话框窗体按钮。

谢谢!

回答

2

添加一键收听到你的表单元素并观察回车键,然后从你的按钮触发点击:

$(yourform).find('*').keypress(function(e) { 
    if (e.which == 13) { // 13 is the code for Enter key 
     e.preventDefault(); 
     $(yourbutton).click(); 
    } 
}); 
+0

谢谢你们!我会尝试这两个选项!非常感激。 :) – user1100221 2012-03-12 02:47:58

1

您应该可以使用jQuery.focus()函数。 例如:

$("#loginButtonInner").focus(); 

将导致元件与loginButtonInner的ID来接收焦点。所以当你按下回车键时,如果这个元素是一个按钮,它将被按下。

更新:我试着用jQueryUI按钮,它工作正常。