このリスナーをセットアップできます。
$('input[type="text"]').on('keyup paste input change', function() {
console.log('Hello!');
});
DevToolsを開いて実行すると、次のようになります。
$('input[type="text"]').val('a new value');
上記のイベントはいずれも呼び出されません。この場合、どのイベントをリッスンする必要がありますか?
このリスナーをセットアップできます。
$('input[type="text"]').on('keyup paste input change', function() {
console.log('Hello!');
});
DevToolsを開いて実行すると、次のようになります。
$('input[type="text"]').val('a new value');
上記のイベントはいずれも呼び出されません。この場合、どのイベントをリッスンする必要がありますか?
要素の値をプログラムで変更してもイベントは発生しません。自分で変更する必要があります。トリガーを使用して、jQuery でイベント ハンドラーをトリガーできます。
$('input[type="text"]').val('a new value').trigger('change');
この.val()
関数は、実行時にイベントをトリガーしないように設計されています。つまり、jQuery の仕組みにより、技術的にはその機能を持つことができたとしてもです。関数を使用すると、使用.val()
したいイベントを手動で実行できます$(element).val("something").click()/change()/input()/keyup()