JavaScript - changeイベントの発生タイミング

クライアントサイドJavaScriptで利用できるイベントの1つに change イベントがあります。

change イベントは、input要素、select要素、textarea要素の値の変更が確定した時に発生します。

注意点として、テキストエリアにキーボードで文字を入力している最中は、 changeイベントは発生しません。

入力内容が確定し、テキストエリアからフォーカスが外れた時点で発生します。

文字を入力最中もchangeイベントが発生すると勘違いしないように注意してください。

1行のテキスト入力ボックスでも同じです。


テキスト以外のフォーム部品でのchangeイベント発生タイミングの一例です。

・セレクトボックスは選択内容が変更された時。

・チェックボックスは選択・非選択が変更された時。

・ラジオボタンは選択・非選択が変更された時。

・ファイル選択ダイアログは、ファイルが選択された時や、選択ファイルが変更された時

changeイベントハンドラのサンプルコード

addEventListener()を使って、changeイベントハンドラを設定する場合は、 次のようなコードとなります。

HTML


<p><textarea id="out"></textarea></p>

JavaScript


var elem = document.getElementById('out');

out.addEventListener('change', function(){
	console.log('changed');
}, false);