keydownイベントリスナーで入力があります。私はjavascript/htmlの新機能なので、明らかにそうだが、ブラウザで試してみるとすべてのことが機能する。私は文字を入力して、私は私のjavascriptが実行され、私は別の文字を入力し、それが動作することを見ることができます。しかし、クローム開発ツールを開いて、イベントリスナー関数にブレークポイントを設定すると、何かを入力すると、イベントリスナーの実行が終了した後に入力要素に表示されません。これの理由は何ですか?ここで入力がkeydownイベントリスナーとデバッグモードのときに文字が入力されない
は私のjavascriptです:
$("#author").keydown(function(event) {
});
、ここでは、html要素である:
<input class="form-control" name="author" type="text" id="author">
だから、もう一度それを試してみて、説明する:私は、文字(例えば "M")を入力すると入力要素では、文字「m」が入力要素に現れます。別の文字を入力すると、その文字も表示されます。その後、私はページをリフレッシュします。クローム開発ツールを開き、イベントリスナーにブレークポイントを設定します。キーボード "m"を入力すると、空のイベントリスナーが実行され、ページに "m"と入力しても意味がありません。入力要素に表示されません。デバッグポイントを削除すると動作します。私は文字を入力し、それは入力要素に現れます。
Hereはjsfiddleの例です。入力ボックスに入力すると動作します。開発ツールを(少なくともchromeでは)開いたら、jsインタプリタを入力して続行します。何も入力されません。手紙の基本的なタイピングで
私はあなたがキーが押されたそのシナリオを打ったと思います、あなたはキーが何であるかを見ることができますが、入力フィールドの 'value'はまだそれを含むように更新されていません。 '長さ'、あなたは前の長さと値を得ている。あなたの必要に応じて、 'keypress'イベントを取得すると、キーが追加された後になります。 – scunliffe
はい、それは本当です。しかし、コードの実行が終了したら、なぜ入力された文字がページに表示されないのでしょうか? – user3494047
入力フィールドの長さを取得するためにkeypressを使用する必要はありません。 –