1

<input type="text">キーボードのキーを押して変更が行われていないときに、テキストを変更するたびにイベントを発生させる方法はありますか?

つまり、キーが押されたときだけでなく、誰かが入力、右クリック、選択したテキストの貼り付けまたはドラッグを入力したときにキャプチャしたいということです。

私はもう試した:

<input id="some-id" onchange="alert('fired')">

$('#some-id').on('change', ev_handler);
$('#some-id').change(ev_handler);

発生する唯一のイベントはキーの押下に関連するものですが、貼り付けやドラッグでは発生しません

4

2 に答える 2

3

oninputイベントはニーズを満たすことができますが、古いブラウザーでは十分にサポートされていないことに注意してください。どっとろの詳細はこちら。

あなたが言及したようなすべてのブラウザーとすべてのユースケースをカバーする必要がある場合、JavaScript で入力値を定期的に (たとえば 500 ミリ秒ごとに) チェックするより良い方法はありません。

これに関する議論は StackOverflow にあります。

于 2012-08-01T16:52:16.783 に答える
-2

方法に関係なく、入力が変更されるたびに発行される onChange イベントを試してください。

于 2012-08-01T16:46:37.570 に答える