駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

changeイベント・inputイベント

・change イベント

フォーム( input 要素)や選択メニュー( select 要素 )、テキストエリア( textarea 要素)にてユーザーの操作によって値が変更されたときに発生するイベントです。 

addEventListener メソッドを使用する場合はこのように記述します。

const input = document.querySelector('input');
input.addEventListener('change', function (e) {
console.log('change');
})

テキストのinputの場合は、フォーカスがなくなった時にchangeイベントが発火します。

サンプルで確認しましょう。

このようにinput 要素に記述しても何も起きません。しかしフォーカスを外すと、

changeイベントが発火しているのがわかると思います。

change イベントは名前の通り、入力するたびに変わるという訳ではありません。

そのようにしたい場合はinputイベントを用います。

 

・inputイベント

input イベントはフォーム( input 要素)や選択メニュー( select 要素 )にてユーザーの操作によって値が変更されたときに発生するイベントです。 change イベントと似ていますが、 input メソッドでは文字が入力されるたびにイベントが発生します。

addEventListener メソッドを使用する場合はこのように記述します。

 
const input = document.querySelector('input');
input.addEventListener('input', function (e) {
console.log('input');
})

上記のように文字が入力されるたびにinputイベントが発火しているのがわかります。

そしてテキストボックスでは文字を削除した場合でも input イベントが発生します。

 

似ているイベントなので違いをまとめてみました。