表单上的jQueryUI按钮是按下Enter键时的默认按钮

jQueryUI Button on a form to be default button on hitting Enter key

本文关键字:Enter 默认按钮 jQueryUI 按钮 表单      更新时间:2023-09-26

我在表单上有一个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");
    }

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

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

谢谢!

在表单元素中添加一个键监听器,并注意Enter键,然后从按钮触发点击:

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

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

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

将导致ID为loginButtonInner的元素获得焦点。所以当你按下回车键时,如果这个元素是一个按钮,它就会被按下。

更新:我用jQueryUI按钮尝试了一下,效果很好。