振る舞いが呼び出されると、 指定された JavaScript と ともに、1 つ以上の JWL アクションが実行されます。 JWL アクションは、 「フィールドの使用不可化」、「フィールドの非表示」、「アラート・ボックスの表示」 などといった、JavaScript の 定義済みブロックになります。 また、いくつかの振る舞い (特に、検証に関する振る舞い) では、フィールドと関連付けられる CSS クラス (および既存の機能およびアクション) を切り替えることができます。
JWL 振る舞いは、オブジェクトのイベント・ハンドラーに対して、置き換えではなく追加を行います。 例えば、オブジェクトの onblur ハンドラー に JavaScript 関数を 与えて、さらに onblur 関数に振る舞いを与えることができます。 イベント・ハンドラーと振る舞いは、 ともにイベントの起動時に実行されます。 イベント・ハンドラー、振る舞い、 および振る舞いによって実行されるアクションが 起動される順序については、以下で説明します。
<input id="form1:text1" type="text" value="fish" class="inputText" />
<script> hX_5.addBehavior("form1:text1", "onfocus", new hX_5.JSFBehaviorGeneric("action:show", "target:form1:tooltip1")); </script>
それぞれの振る舞いは、Javascript コンストラクターを 使用して構成され、addBehavior 呼び出しを介してページに追加されます。
id |
振る舞いが付加される HTML タグの ID。 本文タグに付加するには、#body を使用します。 文書の場合には、#document を使用します。 |
eventname |
振る舞いを呼び出す HTML イベント名。 例えば、onclick、onkeydown などです。 それぞれの振る舞いは、一部の HTML イベント名のみを サポートしています (例えば、 マウス・クリックの振る舞いを、 キーボード・イベントに バインドすることはできません)。 場合によっては、 この振る舞いを複数の HTML イベントに バインドする必要があります。 このような場合には、「疑似」イベント名が使用されます。 例えば、マウス・クリックの振る舞いは、 複数のイベントにバインドされますが、 そのイベント名は「onmouse」になります。 |
name |
JSF コンポーネントの名前。 |
属性 |
コンマで区切られた属性のリスト。 各属性は、属性名と値から成る引用符付きストリングになっており、 コロンで区切られています (例: "label:MyLabel")。 |
特定の振る舞いオブジェクトを取得するには、次のようにします。
id |
振る舞いが付加される HTML タグの ID。 本文タグに付加するには、#body を使用します。 文書の場合には、#document を使用します。 |
name |
JSF コンポーネントの名前。 |
eventname |
振る舞いを呼び出す HTML イベント名。 例えば、onclick、onkeydown などです。 それぞれの振る舞いは、一部の HTML イベント名のみを サポートしています (例えば、 マウス・クリックの振る舞いを、 キーボード・イベントに バインドすることはできません)。 場合によっては、 この振る舞いを複数の HTML イベントに バインドする必要があります。 このような場合には、「疑似」イベント名が使用されます。 例えば、マウス・クリックの振る舞いは、 複数のイベントにバインドされますが、 そのイベント名は「onmouse」になります。 |
returns |
コンバーターの JavaScript オブジェクトの型 (数値、日付/時刻、またはストリング)。 変換できない場合は、null が戻され、lastError が設定されます。 |
DOM オブジェクトに与えられた振る舞いオブジェクトを すべて取得するには、次のようにします。
id |
振る舞いが付加される HTML タグの ID。 本文タグに付加するには、#body を使用します。 文書の場合には、#document を使用します。 |
returns |
コンバーターの JavaScript オブジェクトの型 (数値、日付/時刻、またはストリング)。 変換できない場合は、null が戻され、lastError が設定されます。 |
振る舞いの属性を変更するには、次のようにします。
b |
振る舞いオブジェクト。 |
arg |
JSF 属性/値のストリング。 |
振る舞いの属性を取得するには、次のようにします。
b |
振る舞いオブジェクト。 |
argname |
属性名を含むストリング。 |
returns |
コンバーターの JavaScript オブジェクトの型 (数値、日付/時刻、またはストリング)。 変換できない場合は、null が戻され、lastError が設定されます。 |
ある振る舞いがユーザー提供の JavaScript 関数を実行できる場合、 その関数は JWL アクションの前に実行されます。 関数が false を戻すと、アクションは実行されません。 同様に、関数が false を戻した場合には、どの CSS スタイルも適用されません。 Actions も同じように振る舞います。アクションが false を戻した場合、追加アクションは実行されません。
この振る舞いの他に JavaScript イベント・ ハンドラーが提供されている場合 (例えば、onblur イベント・ ハンドラーにスクリプトが与えられていて、 同じ onblur イベント・ハンドラーに 振る舞いも与えられている場合)、 提供された JavaScript の 実行順は、そのイベントに応じて最初または最後のいずれかになります。 JavaScript イベント・ハンドラーが最初に実行されて false を戻した場合、その振る舞いは実行されません。
振る舞い |
説明 |
---|---|
JSFBehaviorGeneric | 関数/アクションを HTML イベント・ハンドラーにバインドします |
JSFBehaviorAjaxGet | 同じ元のページから、 コンテンツを非同期的に取得/構文解析する方法を定義します。 |
JSFBehaviorAjaxGetExternal | 元の URL とは異なる URL から、 コンテンツを非同期的に取得/構文解析する方法を定義します。 |
JSFBehaviorAjaxSubmit | 元のページとの間で、 コンテンツを非同期的に送信/取得/構文解析する方法を定義します。 |
JSFBehaviorAssist | HTML 入力フィールドでの 入力支援 (文字単位のプロンプト表示) を使用可能にします |
JSFBehaviorFocus | ページがロードされるときに、初期フォーカスをページ内のコントロールに合わせます。 |
JSFBehaviorKeybind | 関数/アクションを、 ファンクション・キーまたは制御キーにバインドします |
JSFBehaviorMouseclick | 関数/アクションを、 右マウス・ボタンまたはすべてのマウス・ボタンにバインドします |
JSFBehaviorTrack | フィールド/カーソルのトラッキングを使用可能にし、 フォームが送信されたときに、 フォーカス/カーソルが最後に存在した場所に関する情報が送信の一部として伝送されます。 |
JSFBehaviorTypeahead | 先行入力サポートを入力フィールドに追加します。 |
JSFBehaviorValidate | HTML の入力タグ または選択タグの値が正しいことを検証し、 正しくない場合にはエラーを表示します |
JSFBehaviorRowAction | 内部使用のみ。 行アクションを、h:dataTable 内の行に追加します |
JSFBehaviorRowCategory | 内部使用のみ。 行カテゴリーの振る舞いを、h:dataTable 内の行に追加します |
JSFBehaviorRowEditSave | 内部使用のみ。 保管振る舞いを、h:dataTable 内の編集可能な行に追加します |
JSFBehaviorRowEditShowHide | 内部使用のみ。 (編集域の) 表示/非表示振る舞いを、h:dataTable 内の編集可能な行に追加します |
JSFBehaviorPager | 内部使用のみ。 h:dataTable 内でのページング振る舞いをサポートします |
JSFBehaviorHS | 内部使用のみ。 <hx:panelActionbar> 用のクライアント・サイド・ロジックを実装します |
JSFBehaviorAlert | 推奨されません。 イベントの起動時に、アラート/確認ダイアログ・ボックスを 表示します (代わりに JSFBehaviorGeneric を使用してください) |