將包含文檔的事件綁定到腳本部件中的函數(shù)。
<attach event="eventName" handler="functionName" [for="elementName"]/>
如果沒有指定 for 屬性,則處理程序屬性的缺省值為事件屬性的值。如果指定了 for 屬性,則缺省的處理程序屬性為 for 屬性值、“_” 以及事件的屬性值三者連接而成的字符串。
for 屬性的可能取值有 “document”、“window”以及 “element”。如果沒有包括 for 屬性,則缺省為 “element”,且認為是在綁定該操作的元素上激活該事件。在下述示例中,<attach> 元素將三個事件綁定到函數(shù)。例如,DHTML 的onmouseover 元素被綁定到腳本部件的 do_onmouseover 函數(shù)。綁定給 DHTML 的 onmouseover 和 onmouseout 事件的函數(shù)只有在包含文檔中綁定了該操作的元素上激活這些事件時才被執(zhí)行。docinit 函數(shù)則顯式綁定到 DHTML 文檔對象的 onload 事件。
注意 CDATA 項是必需的,它使 <script> 元素中的腳本成為不透明的。詳細信息請參閱腳本部件文件和 XML 一致性。
<?XML version="1.0"?>
<component id="bvrscript component1">
<registration progID="Behaviorscript component"/>
<implements type="Behavior">
<attach event="onmouseover" handler="do_onmouseover"/>
<attach event="onmouseout "handler="do_onmouseout"/>
<attach for="window" event="onload" handler="docinit"/>
</implements>
<script language="JScript">
<![CDATA[
var normalColor, normalSpacing;
function do_onmouseover(){
// 保存原始值。
normalColor = style.color;
normalSpacing= style.letterSpacing;
style.color = "red";
style.letterSpacing = 2;
}
function do_onmouseout(){
// 恢復原始值。
style.color = normalColor;
style.letterSpacing = normalSpacing;
}
function docinit(){
document.linkColor = "red";
}
]]>
</script>
</component>