<attach> 要素
ドキュメントのイベントを、スクリプト コンポーネント内の関数にバインドします。
<attach event="eventName" handler="functionName" [for="elementName"]/>
値
eventName
onmouseclick など、バインドするイベントの名前を指定します。functionName
イベントが発生したときに実行される、スクリプト コンポーネント ファイル内のプロシージャ (関数またはサブルーチン) の名前を指定します。省略すると、この属性は自動的に生成されます。for
属性を指定しない場合、handler 属性の既定値は event 属性の値になります。for
属性を指定した場合、handler 属性の既定値は、for 属性の値と event 属性の値をアンダースコア (_) で連結した文字列になります。elementName
イベントに関連付けられた要素を指定します。このイベントは、DHTML Behavior が明示的に結び付けられていない要素に使用されます。for
属性の値は、"document"、"window"、および "element" だけです。for
属性を指定しない場合は、"element" が既定値になり、ビヘイビアが結び付けられている要素でイベントが発生します。
例
次のコードは、<attach> 要素が 3 つのイベントをそれぞれの関数にバインドする例です。たとえば、DHTML onmouseover 要素は、スクリプト コンポーネントの do_onmouseover 関数にバインドされます。DHTML onmouseover イベントにバインドされた関数と onmouseout イベントは、ビヘイビアが結び付けられているドキュメント内の要素で発生した場合にのみ実行されます。docinit 関数は、DHTML document オブジェクトの onload イベントに明示的にバインドされます。
メモ <script> 要素内のスクリプトを隠蔽するには、CDATA セクションが必要です。詳細については、「スクリプト コンポーネント ファイルと 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>