將腳本部件中的函數(shù)綁定到由主機(jī)發(fā)送的通知消息。
behavior.attachNotification (fpNotify)
注意 在缺省情況下, 由 Behavior 處理程序說(shuō)明的屬性和方法是自動(dòng)添加到全局的腳本命名空間,并不必引用 Behavior 處理程序 ID 就可以訪問(wèn)這些屬性和方法。在這種情況下,不必象語(yǔ)法中所示的那樣使用 Behavior.attachNotification,只需簡(jiǎn)單地用 attachNotification 就可以在腳本中使用該屬性。詳細(xì)信息請(qǐng)參閱<implements> 元素。
目前主機(jī)可以使用下述通知來(lái)調(diào)用指定的函數(shù):
注意 attachNotification 方法不會(huì)通知在文檔、窗口或頁(yè)面中任何元素內(nèi)發(fā)生的腳本部件的標(biāo)準(zhǔn)事件。接受這種類(lèi)型的通知的可取方法是使用 DHTML achEvent 方法。
在處理元素的 DHTML 樣式屬性的更改(諸如設(shè)置其可見(jiàn)性、更改顏色或更改字體)時(shí),建議將這些更改內(nèi)嵌在腳本部件的 <script> 元素內(nèi),如下面的腳本部件片段所示。在 documentReady 通知內(nèi)進(jìn)行這種更改將導(dǎo)致輕微閃爍。
注意 CDATA 項(xiàng)是必需的,以使 <script> 元素中的腳本成為不透明的。詳細(xì)信息請(qǐng)參閱腳本部件文件和 XML 一致性。
<implements type="Behavior"/> <script language="JScript"> <![CDATA[ style.color = "green"; style.letterSpacing = 5; ]]> </script>
下面的示例演示了如何設(shè)置一個(gè)函數(shù)來(lái)捕獲通知并進(jìn)行適當(dāng)?shù)奶幚怼?/P>
注意 CDATA 項(xiàng)是必需的,以使 <script> 元素中的腳本成為不透明的。詳細(xì)信息請(qǐng)參閱腳本部件文件和 XML 一致性。
<?XML version="1.0"?> <component> <implements type="Behavior"> <event name="onResultChange"/> </implements> <script language="JScript"> <![CDATA[ attachNotification (onNotification); function onNotification (sNotification){ if (sNotification == "contentReady"){ // 元素的內(nèi)容已被更改。 } else if (sNotification == "documentReady"){ // 主機(jī)已完成對(duì)元素的分析。 } window.status = sNotification; } ]]> </script> </component>