Share via


createEventObject メソッド

fireEvent メソッドが呼び出されたときに、イベントのコンテキスト情報をドキュメントに渡すための DHTML event オブジェクトを作成します。

oEvent = behavior.createEventObject()

  • behavior
    Behavior インターフェイスを実装するための <implements> 要素の ID を指定します。

    メモ   既定では、createEventObject メソッドはグローバルなスコープを持ち、Behavior ハンドラ ID を参照しないでアクセスできます。たとえば、構文に示されている Behavior.createEventObject ではなく、createEventObject と指定するだけで、呼び出すことができます。詳細については、「<implements> 要素」を参照してください。

  • oEvent
    メソッドによって作成される event オブジェクトを指定します。

解説

event オブジェクトは、fireEvent メソッドを複数回呼び出して、再使用することはできません。

次のコードは、計算機のスクリプト コンポーネントから派生しています。結果が変更されるたびに、スクリプト コンポーネントは、onResultChange カスタム イベントの通知をページに返し、結果を event オブジェクトの expando プロパティとして渡します。

メモ   <script> 要素内のスクリプトを隠蔽するには、CDATA セクションが必要です。詳細については、「スクリプト コンポーネント ファイルと 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>

参照

Behavior スクリプト コンポーネントのカスタム イベントの公開