2011-10-21 31 views
0

我是JavaScript新手;因此,這個問題可能看起來很天真。我有一個簡單的jQuery功能針對jQuery的ENTER事件

$(document).ready(function(){ 
    $('#txtValue').keyup(function(){ 
     sendValue($(this).val()); 

    }); 

}); 

這立即發送當信

我探索jQuery events鍵入,但我無法找到進入的事件。我想在輸入所有字母並按下ENTER時運行該功能。

回答

3

檢查事件對象的keyCode屬性。 13代表回車鍵:

$('#txtValue').keyup(function(e){ 
    if(e.keyCode === 13) { 
     sendValue($(this).val()); 
    } 
}); 

keyup事件將觸發每次鍵被釋放的時間。沒有辦法有選擇地開展活動,但您可以選擇何時處理它!

編輯

它實際上是更好地使用event.which,來處理所有的瀏覽器,如jQuery的正常化事件對象提供幫助。

+1

+9000點是成爲本頁面上唯一使用身份運算符而不是比較的人。 – jbabey

3

沒有爲單個鍵的情況下,你需要綁定keypress事件,看看鍵代碼是輸入鍵(13):

$('#txtValue').keypress(function(e) { 
    if (e.keyCode == 13) { 
    //do stuff 
    e.preventDefault(); 
    e.stopPropagation(); 
    //-or- 
    //return false; 
    } 
}); 
1

沒有事件輸入你要檢查每一個鍵,然後如果evt.keycode == 13你有一個ENTER

希望這有助於

1

你只需要一些邏輯添加到您的事件處理程序來檢查,看看哪個鍵觸發了事件:

$(function(){ 
    $('#txtValue').keyup(function(event){ 
     if(event.which == 13){ 
      // enter was pressed 
     } 
    }); 
});