创建一个 DHTML 事件对象,在调用 fireEvent 方法时,将用该对象将事件的上下文信息传递给包含文档。
oEvent = behavior.createEventObject()
注意 在缺省情况下, createEventObject 方法具有全局范围,且不必引用 Behavior 处理程序 ID 就可以访问该方法。例如,不必按语法所示的那样使用 Behavior.createEventObject,只需按调用 createEventObject 函数一样来调用该函数。详细信息请参阅 <implements> 元素。
同一个事件对象不能被多个 fireEvent 调用。
下面的脚本部件片段是从假定的 calculator 脚本部件中摘出来的。只要结果被更改,该脚本部件就会给页面激活自定义的 onResultChange 事件,并作为该事件对象的 expando 属性传递该结果。
注意 CDATA 项是必需的,以使 <script> 元素中的脚本成为不透明的。详细信息请参阅脚本部件文件和 XML 一致性。
<component>
<implements type="Behavior">
<event name="onResultChange"/>
</implements>
<script language="JScript">
<![CDATA[
attachEvent("onclick", doCalc);
function doCalc()
{
// 此处为用于计算的编码。
// 结果写入 sResult 变量。
oEvent = createEventObject();
oEvent.result = sResult;
fireEvent("onResultChange",oEvent);
}
]]>
</script>
</component>
下面演示了包含了 DHTML 的页面的样式。在 onResultChange 事件被激活时,就从 DHTML 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>