2010-09-15 79 views
4

我試圖在輸入鍵被按下時運行方法。此方法已被按鈕使用。基本上,當用戶填寫一個文本字段並點擊一個提交按鈕時,他們會得到一個燈箱。我想要做的是運行同樣的動作,但是當按下回車鍵時。我看着使用.keypress,但我只能找到例子,其中表單標籤是一個標準的HTML表單標籤,而不是一個asp.net表單標籤。我認爲目前窗體只響應頁面上的.net控件,我不能用jquery方法覆蓋它。有任何想法嗎?當輸入鍵被按下時運行jquery方法

回答

5

您可以將keypress事件綁定到您的按鈕上的文檔和trigger()處理程序。

$(document).bind('keypress', function(e){ 
    if(e.which === 13) { // return 
     $('#buttonid').trigger('click'); 
    } 
}); 

只要按下網站上的返回鍵,就會觸發。您可能希望只有在您的輸入表單中使用return時纔會發生這種情況。您只需要將selectordocument更改爲與您的控件匹配的任何種類的選擇器即可。

參考:.trigger()

+0

蕩,安迪,我覺得我的賽車,你所有的時間。你什麼時候睡覺? =) – mkoistinen 2010-09-15 10:06:04

+0

@mkoistinen:我從來沒有聽說過這個,告訴我更多關於「睡眠」的事情:p – jAndy 2010-09-15 10:10:19

+0

非常感謝Andy! – PhilipP 2010-09-27 09:28:40

1
$(document).keydown(function(e) { 
    // test for the enter key 
    if (e.keyCode == 13) { 
     // Do your function 
     myFunction(); 
    } 
}); 
1
$(".input_loginform").keypress(function(e){ 
    if (e.which == 13){ 
     e.preventDefault(); 
     alert("User pressed 'Enter' in a text input. sender form #"+this.form.id); 
     postlogin("#"+this.form.id); 
    } 
});