[解決済み] jQuery textbox change イベントは、textbox がフォーカスを失うまで発生しないのですか?
2022-06-03 19:04:06
質問
テキストボックスのjQuery changeイベントは、テキストボックスの外側をクリックするまで発生しないことがわかりました。
HTMLです。
<input type="text" id="textbox" />
JSです。
$("#textbox").change(function() {alert("Change detected!");});
参照 のデモをご覧ください。
私のアプリケーションでは、テキストボックスの文字が変わるたびにイベントを発生させる必要があります。代わりにkeyupを使おうともしましたが...。
$("#textbox").keyup(function() {alert("Keyup detected!");});
...しかし、右クリック&ペーストではkeyupイベントが発生しないことは既知の事実です。
何か回避策はありますか? 両方のリスナーを持つことは、何か問題を引き起こしそうですか?
どのように解決するのですか?
両方のイベントにバインドするのが典型的な方法です。貼り付けイベントへのバインディングも可能です。
このように複数のイベントにバインドすることができます。
$("#textbox").on('change keyup paste', function() {
console.log('I am pretty sure the text box changed');
});
もし、杓子定規に考えるなら、テキストをドラッグできるように mouseup にバインドし、その上に
lastValue
変数を追加して、テキストが実際に変更されたことを確認する必要があります。
var lastValue = '';
$("#textbox").on('change keyup paste mouseup', function() {
if ($(this).val() != lastValue) {
lastValue = $(this).val();
console.log('The text box really changed this time');
}
});
そして、もしあなたが
super duper
を使用する場合は、自動充填やプラグインなどに対応するためにインターバル タイマーを使用する必要があります。
var lastValue = '';
setInterval(function() {
if ($("#textbox").val() != lastValue) {
lastValue = $("#textbox").val();
console.log('I am definitely sure the text box realy realy changed this time');
}
}, 500);
関連
-
[解決済み] jest.fn()の値はモック関数またはスパイである必要があります。
-
[解決済み] jQueryを使用してハイパーリンクのhref属性を変更する方法
-
[解決済み] jQueryでdata属性で要素を選択する
-
[解決済み] jQueryのイベントハンドラを削除する最良の方法?
-
[解決済み] jQuery の Ajax リクエストがすべて終了するまで待ちますか?
-
[解決済み] jQueryイベントKeypress。どのキーが押されたか?
-
[解決済み] jQuery チェックボックスの変更とクリックイベント
-
[解決済み] jQueryの複数要素の同一クリックイベント
-
[解決済み] jQuery removeClass ワイルドカード
-
[解決済み] Electron: 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 mobileでページ中央のグリッド表示
-
[解決済み] チェックボックスのチェック/アンチェックは、jqueryを使用していますか?重複
-
[解決済み] Google Maps APIでマウスのスクロールホイールによる拡大縮小を無効にする方法
-
[解決済み] jQuery: テーブルの行数を数える
-
[解決済み] クリックボタンでクリップボードにコピー
-
[解決済み] CSSを使用してSVG画像の色を変更する方法(jQuery SVG image replacement)とは?
-
[解決済み] jQueryを使ってロールオーバー時に画像ソースを変更する
-
[解決済み] jQueryを使用してspanに値を設定する方法
-
[解決済み] [Solved] jQueryでtextareaのchangeイベントにバインドするにはどうすればよいですか?
-
[解決済み】jQueryのテンプレートエンジン【終了しました