Behaviorの追加と解放/addBehavior()とremoveBehavior()
addBehavior()メソッドでBehaviorを追加すると整数値(iID)が返ってくる。
追加したBehaviorを解放する際には、この整数値をremoveBehavior(iID)として指定
しなければならない。だから、Behaviorの追加/解放を行うときは、
iIDを保持しておく仕組みが必要になる。このサンプルではreturnID配列が
その役目を果たしている。
- JavaScript
- Java
- JScript
- VBScript
- Perl
- Ark
このファイルのソース(抜粋)
<SCRIPT LANGUAGE="JavaScript">
var flag = true
var listObj = new Array() //LIのオブジェクト変数
var returnID = new Array() //個々のLIオブジェクトにaddBehavior()を実行したとき返ってくる整数値
function switchBehavior() {
listObj = document.all.tags("LI")
var listLength = listObj.length
if(flag == true) {
for(i = 0 ; i < listLength ; i++) {
returnID[i] = listObj[i].addBehavior("dhtml_ie_neo0023s.htc")
}
button1.innerText = "Behavior OFF"
flag = false
} else {
for(i = 0 ; i < listLength ; i++) {
listObj[i].removeBehavior(returnID[i])
}
button1.innerText = "Behavior ON"
flag = true
}
}
</SCRIPT>
dhtml_ie_neo0023s.htc
<PUBLIC:COMPONENT>
<PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="attachUnder()">
<PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="Restore()">
<SCRIPT LANGUAGE="JavaScript">
function attachUnder() {
element.style.textDecoration = "underline"
}
function Restore() {
element.style.textDecoration = "none"
}
</SCRIPT>
</PUBLIC:COMPONENT>