欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Windows 腳本部件  

創(chuàng)建 Behavior 腳本部件

創(chuàng)建 Behavior 腳本部件與創(chuàng)建任何其他類型的腳本部件類似,只是需要將 Microsoft® Internet Explorer 的事件鏈接到為響應(yīng)這些事件而運(yùn)行的腳本。

本主題分為下述部分:

創(chuàng)建 Behavior 腳本部件文件

Behavior 腳本部件包括一個(gè) <implements> 元素,用來(lái)指定 Behavior 接口處理程序。在 <implements> 元素內(nèi),可以使用:

Behavior 腳本部件還可以包括自定義屬性和方法,以擴(kuò)大包含文檔中的元素已經(jīng)可用的屬性和方法。詳細(xì)信息請(qǐng)參閱在 Behavior 腳本部件中說(shuō)明屬性和方法。

下面的示例演示了一個(gè) Behavior 腳本部件,只要鼠標(biāo)從包含頁(yè)面中的某個(gè)元素上經(jīng)過(guò),該腳本部件就會(huì)更改該元素的顏色。為了實(shí)現(xiàn)這一點(diǎn),該示例將 DHTML 的 onmouseover 和 onmouseout 事件綁定到腳本小程序中設(shè)置元素的 DHTML 樣式屬性的函數(shù)。通過(guò)綁定到 DHTML 窗口對(duì)象的 onload 事件,該示例還可以在初始化該文檔時(shí)設(shè)置文檔的鏈接顏色。

除了將事件綁定到腳本,腳本部件還可以將文本插入包含文檔中的任何 <H1> 元素中,該文檔被鏈接到該腳本部件。最后,它還說(shuō)明并激活了一個(gè)稱為 onchange 的事件,該事件使用一個(gè)稱為 newvalue 的自定義屬性擴(kuò)展了 DHTML 窗口對(duì)象的事件對(duì)象。

注意   CDATA 項(xiàng)是必需的,以使 <script> 元素中的腳本成為不透明的。詳細(xì)信息請(qǐng)參閱腳本部件文件和 XML 一致性。
<?XML version="1.0"?>
<component>
<implements type="Behavior">
   <comment> 當(dāng)鼠標(biāo)經(jīng)過(guò)包含文檔的該元素時(shí),
   下面的代碼將將調(diào)用 do_nmousedown 和
   do_mouseout 函數(shù)。</comment>

   <attach event="onmouseover" handler="do_onmouseover"/>
   <attach event="onmouseout" handler="do_onmouseout"/>

   <comment> 當(dāng)窗口的 onload 事件被激活時(shí),
   這些代碼將調(diào)用 init 函數(shù)。</comment>

   <attach for="window" event="onload" handler="docinit"/>

   <comment> 下面定義了將出現(xiàn)在 
   包含文檔中的 HTML 文本。</comment>

   <layout>
      <h1>This is the HTML to show in the element</h1>
   </layout>

   <comment> 下面定義了一個(gè)自定義事件,該事件將 
   通過(guò)腳本部件內(nèi)的 fireEvent 方法被激活。</comment>

   <public>
      <event name="onchange"/>
   </public>

</implements>
<script language="JScript">
<![CDATA[
var normalColor, normalSpacing;
function do_onmouseover(){
   // 保存原始值。
   normalColor = style.color; 
   normalSpacing= style.letterSpacing;
   style.color = "red";
   style.letterSpacing = 2;
   oEvent = createEventObject();
   oEvent.newcolor = "red";
   fireEvent("onchange",oEvent);
}
function do_onmouseout(){
   // 恢復(fù)原始值
   style.color = normalColor;
   style.letterSpacing = normalSpacing;
}

function docinit(){
   document.linkColor = "red";
}
]]>
</script>
</component>

在前面的代碼中有一些情況需要說(shuō)明:

對(duì) DHTML 對(duì)象模型所做的與 Behavior 有關(guān)的增強(qiáng)

下面是為了增加對(duì)操作的支持, Microsoft® Internet Explorer 5 對(duì) DHTML 對(duì)象模型所做的增強(qiáng)。

在腳本部件中獲取事件參數(shù)

在 DHTML 中,DHTML 事件對(duì)象提供了事件的有關(guān)信息。盡管在 DHTML 中事件處理程序可以通過(guò) DHTML 窗口對(duì)象來(lái)訪問(wèn)事件對(duì)象,但在操作腳本部件中事件對(duì)象是作為一個(gè)參數(shù)傳遞給事件處理程序的。

下面的代碼來(lái)自一個(gè)虛構(gòu)的計(jì)算器腳本部件,其中將鍵盤(pán)和鼠標(biāo)事件都綁定到稱為 doCalc 的腳本部件函數(shù)。doCalc 函數(shù)使用該事件對(duì)象來(lái)獲取有關(guān)激活該事件的情況的信息。

注意   CDATA 項(xiàng)是必需的,以使 <script> 元素中的腳本成為不透明的。詳細(xì)信息請(qǐng)參閱腳本部件文件和 XML 一致性。
<implements type="Behavior">
   <attach event="onclick" handler="doCalc"/>
   <attach event="onkeydown" handler="doCalc"/>
</implements>

<script language="jscript">
<![CDATA[
function doCalc(oEventParam){
   oElement = oEventParam.srcElement;
   if(oEventParam.type == "keydown"){
      sVal = KeyCodeToChar(oEventParam.keyCode);
   }
   else{
      if (oEventParam.srcElement.type != "button"){
         return;}
      sVal = stripBlanks(oEventParam.srcElement.value);
   }
}
// 此處為其他腳本。
]]>
</script>

范圍規(guī)則

在使用腳本部件時(shí),實(shí)際使用了三個(gè)命名空間:操作、元素、以及包含文檔。范圍規(guī)則就是定義在操作腳本部件中解決名稱沖突的順序。名稱沖突將按下面的順序進(jìn)行分析:

不管是變量、操作定義的屬性、方法或事件,該名稱都將被解析為由腳本部件的任何操作所定義的名稱。

如果解析失敗,則將該名稱作為應(yīng)用于該元素的屬性、方法或事件來(lái)解析。

最后,該名稱將作為應(yīng)用于包含頁(yè)面的窗口對(duì)象的屬性、方法或事件的名稱。

在下面的示例中,請(qǐng)注意如何使用上面的范圍規(guī)則來(lái)解析這些名字:

時(shí)序注意事項(xiàng)

在創(chuàng)建操作時(shí),了解何時(shí)將操作應(yīng)用于元素是很重要的。在操作被應(yīng)用之前,腳本不能訪問(wèn)操作所定義的屬性值,因?yàn)檫@些值可能是在文檔中設(shè)置的。

由于操作被封裝在與 HTML 文檔不同的獨(dú)立文件中,它和該文檔的其他部分是分開(kāi)下載的。在分析和載入文檔和操作時(shí),該操作通過(guò)用 attachNotification 方法指定的函數(shù)來(lái)接收通知。目前,可以使用“contentChange”或“documentReady” 通知來(lái)通知操作。在對(duì)已綁定該操作的元素內(nèi)容進(jìn)行分析后,只要該元素的內(nèi)容被更改后就會(huì)發(fā)送“contentChange”通知。而“documentReady”通知是在下載并分析該文檔后發(fā)送的。

由于只要實(shí)例化該操作,就會(huì)執(zhí)行腳本部件文件中的內(nèi)嵌腳本,因此在內(nèi)嵌腳本中那些由操作定義的將在文檔中設(shè)置的屬性值可能無(wú)法被訪問(wèn)。不過(guò),這些屬性在首次發(fā)送 “contentChange”通知后就是可用的。

請(qǐng)參閱

在 Behavior 腳本部件中說(shuō)明屬性和方法 | 在 Behavior 腳本部件中說(shuō)明自定義事件 | Behavior 處理程序參考