2

関数を実行するイベントを持つinput要素があります。問題は、関数が最初のキー押下に対して実行されないことです。たとえば、更新する関数を取得するには5ではなく55と入力する必要があり、その値は5です。どういうわけか、最新のキープレスを認識しません。やなどの他のイベントを追加しようとしましたが、役に立ちませんでした。のコードは次のとおりです。onkeypresschange()onfocusonselectinput

<input id="x" type="text" size="1" maxlength="2" onkeypress="change()" onfocus="change()" onselect="change()" onblur="change()" onchange="change()"></input>

JSFiddle

4

3 に答える 3

2

onkeypress問題は、値が挿入される前にイベントがトリガーされることだと思います。

キーが押された後に値を取得したい場合は、onkeyup代わりにイベントを使用して、それがうまく機能するかどうかを確認できます。

于 2013-05-14T22:22:03.517 に答える
2

あなたはこのイベントを試すかもしれません

onKeyUp="change()"

リンクが無効になりました

于 2013-05-14T22:23:55.937 に答える
1

キーを離した直後に値が設定されるためだと思います。onkeyupその動作で試してみると

http://jsfiddle.net/j8B8b/2/

于 2013-05-14T22:25:48.997 に答える