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