web-dev-qa-db-ja.com

エンターキーで機能を実行

入力があり、入力がフォーカスされているときにEnterキーを押したときに機能をアクティブにするイベントリスナーを追加したいだけです。純粋なJSでこれを行うにはどうすればよいですか?

今私は持っています:

HTML:

        Enter your wage:<input type="text" id="wage" value ="" size=20>
        <button id="sub">Submit</button>

Javascript:

    var wage = document.getElementById("wage");
    wage.addEventListener("change", validate);

    var btn = document.getElementById("sub");
    btn.addEventListener("click", validate);

つまり、ORテキストを変更する)をクリックすると、関数validate()がアクティブになりますが、Enterキーを押して呼び出します。

25
frrlod

これを使用できます:

var wage = document.getElementById("wage");
wage.addEventListener("keydown", function (e) {
    if (e.keyCode === 13) {  //checks whether the pressed key is "Enter"
        validate(e);
    }
});

function validate(e) {
    var text = e.target.value;
    //validation of the input...
}

ここでライブデモ

36
Minko Gechev
var elem = document.getElementById("wage");
elem.onkeyup = function(e){
    if(e.keyCode == 13){
       validate();
    }
}

動作例http://jsfiddle.net/aMgLK/

5
Kevin Bowersox

KeyCodeの代わりに key を使用した、現在受け入れられている回答(@MinkoGechevから)のバージョンを次に示します。

const wage = document.getElementById('wage');
wage.addEventListener('keydown', (e) => {
    if (e.key === 'Enter') {
        validate(e);
    }
});

function validate(e) {
    const text = e.target.value;
    //validation of the input...
}
3
Marcus

ボタン要素を

<input type="submit" value="Submit">

キーボードの入力ボタンで動作します。

1
gvhuyssteen

またはjQueryを使用

$("#wage").on("keydown", function (e) {
    if (e.keyCode === 13) {  //checks whether the pressed key is "Enter"
        validate(e);
    }
});
0
klaasjan69

wage.addEventListener('keydown', validate);のようなものが必要です。

検証関数では、event.keyCode == 13「Enter」キーを押します。

0
scoota269
$(document).on("keyup", function(e) {
    var key = e.which;

    if (key == 13) // the enter key ascii code
    {
        login();
    }
});
0
manoj yadav