2012-03-12 15 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

は、あなたのボタンからクリックをトリガし、フォーム要素にキーリスナーを追加し、Enterキーを監視:

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

みんなありがとうを!私はこれらの両方のオプションを試みます!とても有難い。 :) – user1100221

1

jQuery.focus()機能を使用できるはずです。たとえば :

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

がloginButtonInnerのIDを持つ要素がフォーカスを受け取ることになります。 Enterキーを押すと、その要素がボタンの場合は押されます。

アップデート:jQueryUIボタンで試してみましたが、正常に動作します。

関連する問題