nablarch.ui.Widget Class
DOMノードの動作を拡張するUIモジュールの基底クラス。
Methods
bindEvent
(
chainable
-
eventMap
このウィジェット上で発生する各種イベントに対してイベントハンドラを登録する。
引数 eventMap
の各エントリは以下のいずれかの形式で記述する。
- "(イベント名)" : (イベントハンドラ)
- "(セレクタ) (イベント名)" : (イベントハンドラ)
- "(コンテキストノード) (イベント名)" : (イベントハンドラ)
- "(コンテキストノード) (セレクタ) (イベント名)" : (イベントハンドラ)
1.ではこのウィジェット内(this.$node)で発生するイベントを処理する イベントハンドラを登録する。
2.ではウィジェット内で発生するイベントのうち、イベントの発生元がセレクタに 合致した場合のみイベントハンドリングを行う。(event deligation) なおセレクタがIDセレクタ("#")で開始される場合は、ウィジェット外で発生する イベントも対象となる。
3.および4.では、(コンテキストノード)に指定したノード内でしたイベントを対象とする。 (コンテキストノード)には $で開始されるプロパティ名もしくは "document" を指定する。
(イベントハンドラ) には文字列および関数を使用できる。 文字列の場合は、このウィジェットの同名のメソッドを呼び出す。 関数の場合は、このウィジェットをbind()したものを呼び出す。
Parameters:
-
eventMap
Objectこのウィジェット内のイベントハンドリングを定義するマップ。
Example:
this.bindEvent({
"button.addAll click" : "addAll"
, "button.add click" : "add"
, "button.removeAll click" : "removeAll"
, "button.remove click" : "remove"
, "document beforeSubmit" : "update" // nablarch_submit によるサブミット前
, "document afterSubmit" : "render" // nablarch_submit によるサブミット後
});
Widget
(
-
element
コンストラクタ関数。
ほとんどのウィジェットにおいて必要となる共通的な以下の初期化処理を行う。 サブクラスからは以下の形式で呼び出す。
function SomeWidget(element) {
Widget.call(this, element); // ウィジェット共通初期化処理の呼び出し
}
- 生成されたインスタンスを引数のDOMノードのdata属性に登録する。
- コンストラクタのeventプロパティの内容を元に、イベントハンドラを登録する。
なお、引数を指定しなかった場合は何もせずにインスタンスを返却する。 (プロトタイプインスタンスとして使用する場合。)
Parameters:
-
element
HTMLElementDOMノード
Properties
$node
JQuery
ウィジェットを構成するHTML要素を保持するjQuery結果セット