将包含文档的事件绑定到脚本部件中的函数。
<attach event="eventName" handler="functionName" [for="elementName"]/>
如果没有指定 for
属性,则处理程序属性的缺省值为事件属性的值。如果指定了 for
属性,则缺省的处理程序属性为 for
属性值、“_” 以及事件的属性值三者连接而成的字符串。
for
属性的可能取值有 “document”、“window”以及 “element”。如果没有包括 for
属性,则缺省为 “element”,且认为是在绑定该操作的元素上激活该事件。在下述示例中,<attach> 元素将三个事件绑定到函数。例如,DHTML 的onmouseover 元素被绑定到脚本部件的 do_onmouseover 函数。绑定给 DHTML 的 onmouseover 和 onmouseout 事件的函数只有在包含文档中绑定了该操作的元素上激活这些事件时才被执行。docinit 函数则显式绑定到 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>