Share via


fireEvent メソッド

カスタム イベントを発生させます。

Behavior.fireEvent(sEvent[, oEvent])

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

    メモ   既定では、Behavior ハンドラによって公開されたプロパティとメソッドは、グローバル スクリプト名前空間に自動的に追加されます。このため、これらのプロパティとメソッドにアクセスするときは、Behavior ハンドラ ID を参照する必要がありません。つまり、構文に示されている Behavior.fireEvent ではなく、fireEvent と指定するだけでプロパティにアクセスできます。詳細については、「<implements> 要素」を参照してください。

  • sEvent
    <implements> 要素で宣言されたカスタム イベントの名前を指定します。

  • oEvent
    省略可能です。コンテキスト情報が格納されている event オブジェクトを指定します。event オブジェクトは、createEventObject メソッドを使用して作成されます。

解説

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

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

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