3

このリスナーをセットアップできます。

$('input[type="text"]').on('keyup paste input change', function() {
  console.log('Hello!');
});

DevToolsを開いて実行すると、次のようになります。

$('input[type="text"]').val('a new value');

上記のイベントはいずれも呼び出されません。この場合、どのイベントをリッスンする必要がありますか?

4

2 に答える 2

6

要素の値をプログラムで変更してもイベントは発生しません。自分で変更する必要があります。トリガーを使用して、jQuery でイベント ハンドラーをトリガーできます。

$('input[type="text"]').val('a new value').trigger('change');
于 2013-05-11T20:50:00.363 に答える
-1

この.val()関数は、実行時にイベントをトリガーしないように設計されています。つまり、jQuery の仕組みにより、技術的にはその機能を持つことができたとしてもです。関数を使用すると、使用.val()したいイベントを手動で実行できます$(element).val("something").click()/change()/input()/keyup()

于 2013-05-11T20:48:55.200 に答える