50

入力フィールドが 1 つしかなく、onChange および onKeyPress イベントを登録して、ユーザーが入力を終了するか、Enter キーを押したことを検出します。JavaScriptのみを使用する必要があります。助けてくれてありがとう。

私は持っている:

var load = function (){
   //I want to trigger this function when user hit Enter key.
}

document.getElementById('co').onchange=load;   //works great
document.getElementById('co').onKeyPress=load; 
//not sure how to detect when user press Enter

html

//no form just a single input field
<input type='text' id='co'>
4

8 に答える 8

81
document.getElementById('foo').onkeypress = function(e){
    if (!e) e = window.event;
    var keyCode = e.code || e.key;
    if (keyCode == 'Enter'){
      // Enter pressed
      return false;
    }
  }

デモ

于 2012-07-06T15:55:59.303 に答える
7

クロスブラウザにするには:

document.getElementById('foo').onkeypress = function(e) {
    var event = e || window.event;
    var charCode = event.which || event.keyCode;

    if ( charCode == '13' ) {
      // Enter pressed
      return false;
    }
}

詳細については、次の質問を参照してください:javascript event e.which?

于 2012-07-06T16:08:00.320 に答える
1

event.keyCode を使用する

var code = (e.keyCode ? e.keyCode : e.which);
 if(code == 13) { //Enter keycode
   //Do something
 }

このリンクにはすでに議論があります jQuery Event Keypress: どのキーが押されましたか?

于 2012-07-06T15:59:38.390 に答える
0

これは、このトピックについて説明し、実際の例を提供する良いリンクです

function DetectEnterPressed(e) {
var characterCode
if(e && e.which){ // NN4 specific code
e = e
characterCode = e.which
}
else {
e = event
characterCode = e.keyCode // IE specific code
}
if (characterCode == 13) return true // Enter key is 13
else return false
}

http://hspinfo.wordpress.com/2008/09/01/using-javascript-detect-enter-key-pressed-event-in-a-textbox-and-perform-the-action/

于 2012-07-06T15:56:39.420 に答える