激活一个自定义事件。
Behavior.fireEvent(sEvent[, oEvent])
注意 在缺省情况下, 由 Behavior 处理程序说明的属性和方法是自动添加到全局的脚本命名空间,并不必引用 Behavior 处理程序 ID 就可以访问这些属性和方法。在这种情况下,不必象语法中所示的那样使用 Behavior.fireEvent,只需简单地用 fireEvent 就可以在脚本中使用该属性。详细信息请参阅<implements> 元素。
同一个事件对象不能重复用于多个对 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>