イベントハンドラはHTMLタグに「onclick="~"」のように記述することが多いですが、 JavaScriptで動的にイベントハンドラを指定することも可能です。
イベントハンドラを動的に設定する
例)画面Load時、id="btn1"要素のクリックイベントに「func1()」の呼出しを設定する
1 2 3 4 5 6 7 |
window.onload = function(){ document.getElementById("btn1").onclick = function (){func1();} } function func1() { //何かの処理 } |
1 2 3 4 5 6 7 8 9 10 |
<html lang="ja"> <head> <meta charset="utf-8"> <title>Sample</title> <script src="sample.js"></script> </head> <body> <input type="button" id="btn1" value="ボタン" > </body> </html> |
解説
- JavaScript側でイベントハンドラを設定すると、HTML側のソースはタグのみとなって、コードをとてもすっきりさせることができます。
- イベントハンドラには以下のようなプロパティが指定できます。
プロパティ | 意味 |
---|---|
onclick | Clickイベント |
onfocus | Focusイベント |
onblur | Blurイベント |
onchange | Changeイベント |
onload | Loadイベント |
onunload | Unloadイベント |
onsubmit | Submitイベント |