イベントハンドラ
DOM要素に対し、何らかのアクション(イベント)が起こった際の反応(イベントハンドラ)を定義することができます。
<button id="amazing-button">押してね</button>
document.getElementById('amazing-button').onclick = () => {
alert('びっくり!');
};
DOMオブジェクトのonclick
プロパティには、その要素がクリックされた時に呼ばれる関数を指定します。今回は、アロー関数式を用いて、() => { alert('びっくり!'); }
という関数を指定しています。
tip
alert
は、画面上にモーダルダイアログボックスを表示させる関数です。
caution
この記事以降、document.write
は一切使用しません。これは、document.write
をページの読み込みが完了した状態で実行すると、ページの内容を全て消去してしまうためです。何かを出力する必要がある場合は、代わりにconsole.log
を使用しましょう。
イベントオブジェクト
イベントハンドラには、イベントオブジェクトと呼ばれる、起きたイベントの詳細を表すオブジェクトが引数として渡される場合が多いです。イベントオブジェクトを受け取る引数名には、e
を使う場合が多いです。
<input>
document.querySelector('input').onkeydown = (e) => {
console.log(e.key);
}
keydown
イベントのイベントオブジェクトには、押されたキーが格納されている、key
プロパティがあります。
課題
0
を表示するdiv
要素とボタンをひとつ用意し、ボタンがクリックされるたびにdiv
要素内部に表示されている値を1ずつ増やすプログラムを作成してください。