select要素に以下のようにイベントを設定していたとする。
$('select').on('change', function() {
// Event code ...
});
このselect要素をユーザーが変更し、値が変わることでchangeイベントが発火するのだが、例えばJavaScript側で以下のように値を設定しても今度はchangeイベントが発火されない。
$('select').val(10);
どうしてもJavaScript側でchangeイベントを発火させたいケースがあり、調べてみるとtrigger
という便利なメソッドがあることが分かった。
先ほどのコードにメソッドチェーンでtrigger
メソッドを以下のように追加することで、引数に渡したイベントが発火するようになる。
$('select').val(10).trigger('change');