2015-12-16 96 views
0

當按下Enter鍵時,下面的代碼應該點擊一個button,如果有其他鍵被點擊,則清空另一個textbox檢查鍵碼返回undefined

我無法檢查keycode,因爲keycode始終爲undefined

$('#txtSearch').keyup(function (e) { 
    if (e.keycode != 13) 
     $('#txtId').val(""); 
    else 
     $('#BtnGo').click(); 
}) 
+0

這將幫助你http://stackoverflow.com/questions/302122/jquery-event-keypress-which-key-was-pressed?answertab=acti ve#tab-top –

+0

你必須嘗試'e.which' –

+4

注意它是'keyCode' - 區分大小寫。你也應該使用'e.which'來完全支持跨瀏覽器:'if((e.which || e.keyCode)!= 13)' –

回答

1

在Firefox中,keyCode屬性在onkeypress事件上不起作用(只返回0)。對於一個跨瀏覽器的解決方案,與鍵代碼一起使用哪個屬性,如:

var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support 

因此,使用下面的代碼

$('#txtSearch').keyup(function (event) { 
    var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support 

     if (x!= 13) 
      $('#txtId').val(""); 
     else 
      $('#BtnGo').click(); 
    }) 

http://www.w3schools.com/jsref/event_key_keycode.asp

1

更好的辦法做到這

$('#txtSearch').keyup(function (e) { 
    var code = e.keyCode || e.which; 
    if(code != 13) 
     $('#txtId').val(""); 

    else 
     $('#BtnGo').click(); 
})