イベントハンドラサンプルコード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>Event sample</title> <script src="./event.js"></script> </head> <body> <p id="canvas"> →白→赤→青→黄→緑→灰→<br> <button id="btnHello">hello</button> </p> </body> </html>
event.js
'use strict'; (function () { // windowのonloadイベントハンドラ登録 window.addEventListener('load', setEvent, false); // window.onloadの処理実体 function setEvent(evt) { var btnHello = document.getElementById('btnHello'); var canvas = document.getElementById('canvas'); // クロージャ設定 var rotateColor = (function () { var colorTbl = [ 'white', 'red', 'blue', 'yellow', 'green', 'gray']; var idx = 0; return function () { // canvasの背景色をローテーション設定 idx = (idx + 1 < colorTbl.length) ? idx + 1: 0; canvas.style.backgroundColor = colorTbl[idx]; }; })(); // btnHelloにイベントハンドラ設定 btnHello.addEventListener('click', function(){alert('おはよう御座います。');}, true); btnHello.addEventListener('click', function(){alert('こんにちは。');}, true); btnHello.addEventListener('click', function(){alert('念のため、こんばんはも。');}, true); // canvasにクリックイベントハンドラ設定 canvas.addEventListener('click', rotateColor, false); } })();