Windows 脚本部件  

fireEvent 方法

激活一个自定义事件。

Behavior.fireEvent(sEvent[, oEvent])

Behavior
用来实现 Behavior 接口的 <implements> 元素的 ID。
注意   在缺省情况下, 由 Behavior 处理程序说明的属性和方法是自动添加到全局的脚本命名空间,并不必引用 Behavior 处理程序 ID 就可以访问这些属性和方法。在这种情况下,不必象语法中所示的那样使用 Behavior.fireEvent,只需简单地用 fireEvent 就可以在脚本中使用该属性。详细信息请参阅<implements> 元素。
sEvent
在 <implements> 元素内声明的自定义事件的名称。
oEvent
(可选项) 指定一个包含上下文信息的事件对象。该事件对象是使用 createEventObject 方法创建的。

说明

同一个事件对象不能重复用于多个对 fireEvent 方法的调用。

示例

下面的脚本部件片段是从假定的 calculator 脚本部件中摘出来的。只要结果被更改,该脚本部件就会给页面激活自定义的 onResultChange 事件,并作为该事件对象的 expando 属性传递该结果。

注意   CDATA 项是必需的,以使 <script> 元素中的脚本成为不透明的。详细信息请参阅脚本部件文件和 XML 一致性
<component>
<public>
   <event name="onResultChange" />
</public>

<implements type="Behavior">
   <attach event="onclick" handler="doCalc");
</implements>

<script language="JScript">
<![CDATA[
function doCalc(){
   // 此处为进行计算的代码。
   // 结果写入 sResult 变量。

   oEvent = createObjectEvent();
   oEvent.result = sResult;
   fireEvent("onResultChange",oEvent);
}
]]>
</script>
</component>

下面演示了包含了 DHTML 的页面的样式。在 onResultChange 事件被激活时,就从 window.event 对象的 expando result 属性提取出计算结果,并在 resultWindow <DIV> 元素中显示该结果。

<HTML>
<HEAD>
<xml:namespace prefix="LK" />
<style>
   LK\:CALC {behavior:url(engine.wsc)}
</style>
<script language="JScript">
function showResults(){
   resultWindow.innerText=window.event.result;
}
</script>
</HEAD>

<LK:CALC id="myCalc" onResultChange="showResults()">
<TABLE>
<TR>
   <DIV ID=resultWindow 
      STYLE="border: '.025cm solid gray'" 
      ALIGN=RIGHT>0.</DIV>
</TR>
<TR>
   <TD><INPUT TYPE=BUTTON VALUE=" 0 "></TD>
   <TD><INPUT TYPE=BUTTON VALUE="+/-"></TD>
   <TD><INPUT TYPE=BUTTON VALUE=" . "></TD>
   <TD><INPUT TYPE=BUTTON VALUE=" + "></TD>
   <TD><INPUT TYPE=BUTTON VALUE=" = "></TD>
<TR>
</TABLE>
</LK:CALC>
</HTML>

请参阅

在 Behavior 脚本部件中说明自定义事件 | fireEvent