1. ホーム
  2. ジャバスクリプト

[解決済み] input type="text "でonchange as-you-typeを追跡する最良の方法?

2022-03-23 04:39:21

質問

私の経験では input type="text" onchange のイベントは、通常、あなたが去った後にのみ発生します ( blur ) コントロールを使用します。

をブラウザで強制的に起動させる方法はありますか? onchange 毎回 textfield のコンテンツが変更されましたか?そうでない場合、これを「手動で」追跡する最もエレガントな方法は何でしょうか?

使用方法 onkey* イベントは信頼できません。なぜなら、フィールドを右クリックして「貼り付け」を選択すると、キーボード入力なしでフィールドが変更されるからです。

setTimeout しかないのでしょうか?不細工 :-)

解決方法は?

更新してください。

参照 別の回答 (2015).


2009年オリジナルの回答です。

ということは onchange イベントをキーダウン時に発生させ、ブレさせる。 を貼り付ける?それは魔法だ。

入力中に変更を追跡したい場合は "onkeydown" . マウスによる貼り付け操作をトラップする必要がある場合は "onpaste" ( IE , FF3 ) と "oninput" ( FF、Opera、Chrome、Safari 1 ).

1 <サブ のために壊れている <textarea> をSafariで表示します。使用方法 textInput 代わりに