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

Windows 腳本部件  

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

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

本主題分為下述部分:

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

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

Behavior 腳本部件還可以包括自定義屬性和方法,以擴大包含文檔中的元素已經可用的屬性和方法。詳細信息請參閱在 Behavior 腳本部件中說明屬性和方法。

下面的示例演示了一個 Behavior 腳本部件,只要鼠標從包含頁面中的某個元素上經過,該腳本部件就會更改該元素的顏色。為了實現這一點,該示例將 DHTML 的 onmouseover 和 onmouseout 事件綁定到腳本小程序中設置元素的 DHTML 樣式屬性的函數。通過綁定到 DHTML 窗口對象的 onload 事件,該示例還可以在初始化該文檔時設置文檔的鏈接顏色。

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

注意   CDATA 項是必需的,以使 <script> 元素中的腳本成為不透明的。詳細信息請參閱腳本部件文件和 XML 一致性。
<?XML version="1.0"?>
<component>
<implements type="Behavior">
   <comment> 當鼠標經過包含文檔的該元素時,
   下面的代碼將將調用 do_nmousedown 和
   do_mouseout 函數。</comment>

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

   <comment> 當窗口的 onload 事件被激活時,
   這些代碼將調用 init 函數。</comment>

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

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

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

   <comment> 下面定義了一個自定義事件,該事件將 
   通過腳本部件內的 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(){
   // 恢復原始值
   style.color = normalColor;
   style.letterSpacing = normalSpacing;
}

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

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

對 DHTML 對象模型所做的與 Behavior 有關的增強

下面是為了增加對操作的支持, Microsoft® Internet Explorer 5 對 DHTML 對象模型所做的增強。

在腳本部件中獲取事件參數

在 DHTML 中,DHTML 事件對象提供了事件的有關信息。盡管在 DHTML 中事件處理程序可以通過 DHTML 窗口對象來訪問事件對象,但在操作腳本部件中事件對象是作為一個參數傳遞給事件處理程序的。

下面的代碼來自一個虛構的計算器腳本部件,其中將鍵盤和鼠標事件都綁定到稱為 doCalc 的腳本部件函數。doCalc 函數使用該事件對象來獲取有關激活該事件的情況的信息。

注意   CDATA 項是必需的,以使 <script> 元素中的腳本成為不透明的。詳細信息請參閱腳本部件文件和 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ī)則

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

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

如果解析失敗,則將該名稱作為應用于該元素的屬性、方法或事件來解析。

最后,該名稱將作為應用于包含頁面的窗口對象的屬性、方法或事件的名稱。

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

時序注意事項

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

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

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

請參閱

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