2013-02-14 63 views
0

我在jquery對話框上有兩個按鈕確定並取消。我希望當用戶在當前打開的Jquery UI對話框上按下Enter鍵時,它的行爲就像Ok一樣被點擊。按鈕是這樣定義的:綁定回車鍵jquery ui對話框按鈕

 $("#dialog-confirm").dialog({ 
        autoOpen: true, 
        resizable: true, 
        modal: true, 
        width: 458, 
        Height: 184, 

        buttons: { 
         "Login": function() { 
          $(this).dialog("close"); 
$("#frmsetAccount").submit();       
         }, 
         "Cancel": function() { 
          $(this).dialog("close");       

         } 
        } 
       }); 
    }); 

請提出解決的辦法

回答

2

您可以使用按鍵或KEYUP事件

$('#targetElement').on('keypress', function(e) { 
var code = (e.keyCode ? e.keyCode : e.which); 
if(code == 13) { //Enter keycode 
    //close your dialog box. -make sure you get the dialog object first. then close it. or call some function which is in ok button. 
} 
}); 

KEYUP

$('#targetElement').keyup(function(e) { 
    var code = (e.keyCode ? e.keyCode : e.which); 
    if(code == 13) { //Enter keycode 
     //Do something 
    } 
    }); 
+0

我是否需要在Ok函數中寫入if條件時編寫相同的代碼? – DotnetSparrow 2013-02-14 12:08:48

+0

@DotnetSparrow檢查更新回答 – 2013-02-14 12:10:40

+0

如何獲取對話框對象?使用$(this)?並且它將使用什麼 – DotnetSparrow 2013-02-14 12:37:49

0

只需使用keyup

$(document).keyup(function(e) { 
    if (e.keyCode == 13) // close the dialog 
});