1

だから、私はここで小さな問題を抱えています。

テキストフィールド (エリアではない) があり、Enter キーを押したときに JS 関数を実行したい。これは、個別の「送信」ボタンの代わりです。現在、「onKeyPress」イベントを使用しようとしていますが、文字を 1 つ入力するたびに関数が実行されます。したがって、「LIKE」と書きたい場合は、「L」、「LI」、「LIK」を投稿します。そして「いいね」。入力時だけでなく、何かを押すたびに反応します。

フォームはありません。単純な入力 type="text" だけです。

<input type="text" id="' + post_id + '" onKeyPress="fbComment(\''+post_id+'\')"> Post a comment </input>

私の最後の質問を覚えている人がいるなら、これは私の facebook_footer 変数の一部になり (私は FB API を試しています)、完成したものは次のようになります:

var facebook_footer = '<button onClick="fbLike(\''+post_id+'\')"> Like </button> <input type="text" id="' + post_id + '" onKeyPress="fbComment(\''+post_id+'\')"> Post a comment </input>';

これを機能させるために私に何ができるか知っている人はいますか?

4

4 に答える 4

3

簡単な関数を紹介します -

textElement.onkeydown=function(e){
    if(e.keyCode==13){
        alert('you press enter')
    }
}
于 2013-03-15T21:13:58.350 に答える
2

入力内でEnterキーを検出できます。

$("#inputIDHERE").keypress(function(e) {
    if(e.which == 13) {
        alert('You pressed enter!');
    }
});
于 2013-03-15T20:38:45.900 に答える
0

もちろん、それは可能です。JavaScript に追加のロジックが必要になるだけです。

キーボードイベントのチュートリアルを確認してください

どのキーが入力されたかを確認するには、keypress イベントをのぞく必要があります。イベント オブジェクトにはキーコードまたは押されたキーに対応する値を持つプロパティがあり、キーコード 13 は入力/戻るボタンです。

追加参照: Javascript 文字コード

于 2013-03-15T20:46:34.867 に答える
0

これが私のために働いたものです:

$("#inputIDHERE").bind('keypress', function(e) {
    if(e.which == 13) {
        alert('You pressed enter!');
    }
});

入力タグの周りに <form></form> も追加しましたが、これは必要ないかもしれません。

于 2013-11-21T19:31:16.823 に答える