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