|
<SCRIPT language="VBScript">
' attachEvent した回数ぶん同じ関数でも登録されるので注意
' detachEvent も一回に一つしか解除は出来ない
' "onclick" は全て小文字で
' getRef するたびに参照用のオブジェクトが作成されて、
' そのオブジェクトとイベントがリンクされるので、getRef
' するのは最初だけで、グローバル管理する必要があります
Dim fpMyMessage1,fpMyMessage2
function ChangeEvent1()
Set fpMyMessage1 = getRef("MyMessage1")
Set fpMyMessage2 = getRef("MyMessage2")
Call document.all("MyButton").attachEvent("onclick", fpMyMessage1 )
Call document.all("MyButton").attachEvent("onclick", fpMyMessage2 )
alert("テストボタンに onClick イベントを登録しました ")
end function
function ChangeEvent2()
Call document.all("MyButton").detachEvent("onclick", fpMyMessage1 )
alert("テストボタンから MyMessage1 関数を解除しました ")
end function
function ChangeEvent3()
Call document.all("MyButton").detachEvent("onclick", fpMyMessage2 )
alert("テストボタンから MyMessage2 関数を解除しました ")
end function
function MyMessage1()
alert("メッセージ1")
end function
function MyMessage2()
alert("メッセージ2")
end function
</SCRIPT>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS">
</HEAD>
<BODY>
<INPUT type=button name=ActButton value="両方の関数をイベント登録"
onClick='Call ChangeEvent1()'><br>
<INPUT type=button name=ActButton value="MyMessage1を解除"
onClick='Call ChangeEvent2()'><br>
<INPUT type=button name=ActButton value="MyMessage2を解除"
onClick='Call ChangeEvent3()'>
<br><br>
このボタンに対して処理 --> <INPUT type=button name=MyButton value="テスト"><br>
</BODY>
</HTML>
| |