我在表单上有一个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");
}
目前,我必须通过键盘选项卡或通过鼠标点击。
我在线搜索解决方案,但他们都指向模态对话框表单按钮。
谢谢!
答案 0 :(得分:2)
为表单元素添加一个键监听器并注意Enter键,然后从按钮触发单击:
$(yourform).find('*').keypress(function(e) {
if ( e.which == 13 ) { // 13 is the code for Enter key
e.preventDefault();
$(yourbutton).click();
}
});
答案 1 :(得分:1)
您应该可以使用jQuery.focus()功能。 例如:
$("#loginButtonInner").focus();
将导致ID为loginButtonInner的元素获得焦点。因此,当您按Enter键时,如果该元素是按钮,则会按下该按钮。
更新:我尝试使用jQueryUI按钮,它工作正常。