[解決済み】JQuery:入力フィールドの変更を検出する【重複】。
2022-04-06 22:40:48
質問
ユーザーのキーボード操作によってテキストフィールドの値が変更されたことを検出したい。モダンブラウザで一貫して動作することが望ましい。
.keypressイベントのJQueryのページには、一貫性がないと書いてありますが?また、backspace、deleteなどでは動作しません。
.keydownはshift、alt、矢印キーなどに反応するので、そのままでは使えませんね。また、ユーザーがキーを押しながら複数の文字が挿入された場合、複数回発火することはありません。
私が見逃している簡潔な方法はありますか?それとも、.keydownを使用して、矢印キーやシフトなどでトリガーされるイベントをフィルタリングするべきでしょうか?私の主な懸念は、フィルタリングされるべきであると私が認識していないキーがあることです。(私はaltとCtrlを忘れるところでした。他にもあると思います。) しかし、その場合、キーが押されたままで複数の文字が挿入されていることをどのように検出するのでしょうか?
おまけに貼り付け(右クリックを含む)による変化も検出できるのですが、それに対する解決策は こちら .
解決方法は?
テキストボックスに 'input' イベントをバインドすることができます。この場合 毎回 を変更すると、何かを貼り付けたり(右クリックでも)、削除したり、何かを入力したりすることができます。
$('#myTextbox').on('input', function() {
// do something
});
を使用する場合は
change
ハンドラを使用すると、ユーザーが入力ボックスの選択を解除した後にのみ実行されます。
ここに両方の例があります。 http://jsfiddle.net/6bSX6/
関連
-
[解決済み] 繰延べと約束
-
[解決済み] JQueryの使用 - フォームが送信されないようにする
-
[解決済み] 要素外でのクリックを検出するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】jQuery: outer html() [重複]。
-
[解決済み】Bootstrap - Uncaught TypeError: 未定義のプロパティ 'fn' を読み取れない。
-
[解決済み] jQueryでリンクを無効化する
-
[解決済み] jQueryがfadeOutで動作しない
-
[解決済み] How to make the first option of <select> selected with jQuery
-
[解決済み] jQueryは、すべてのテキストフィールドの値の合計を計算する
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] JQuery Fancyboxが動作しない
-
[解決済み] jquery-rails」と「jquery-ui-rails」は、1つのプロジェクトで管理することができるのでしょうか?
-
[解決済み] テキストボックスの内容が変更されたことを検出する方法