JavaScriptのイベント
イベントドリブンモデルとは
ページ中で発生したさまざまな出来事(イベント)に応じて対応する処理(イベントハンドラ)を呼び出し、実行するモデル
イベント
・onClick
・onDblClick
・onKeyDown
・onKeyPress
・onKeyUp
・onMouseDown
・onMouseUp
・onMouseOver
・onMouseOut
・onMouseMove
・onLoad
・onUnload
・onFocus
・onBlur
・onSubmit
・onReset
・onChange
・onResize
・onMove
・onDragDrop
・onAbort
・onError
・onSelect
イベントの指定
タグの属性部分に指定する
<form action="#">
<input type="button" value="OK" onClick="alert('OK!!')">
</form>
セミコロン(;)で区切ることにより、複数の文を呼び出すことが可能
<form action="#">
<input type="button" value="OK" onClick="alert('A'); alert('B')">
</form>
イベントハンドラとは
イベントに関連づけられた関数
イベントハンドラの指定
関数は通常、<head>~</head> の間で定義する
<head>
<script type="text/javascript">
<!--
function Kansu() {
alert("OK!!");
}
// -->
</script>
</head>
<body>
<form action="#">
<input type="button" value="OK" onClick="Kansu()">
</form>
</body>
要素本来の動きを止める
return false;
イベントハンドラの戻り値として false を返すことにより、本来の動作(クリック時の動作など)を無効化することができる
【例】
<script type="text/javascript">
<!--
function kakunin() {
if (window.confirm("よろしいですか?"))
{return true;}
else
{return false;}
}
// -->
</script>
<a href="xxx.htm" onClick="return kakunin()">XXX</a>
<form action="xxx.cgi">
<input type="submit" value="OK" onClick="return kakunin('OK');">
</form>
ラジオボタンの注意
ラジオボタンのタグに直接イベントハンドラを指定する場合、
onChange だとIEで反応しないことがある。
onClick を使用する。