1

画面レイアウトにいくつかのコンテナウィジェットを使用しています。コンテナを拡張して「onClick」イベントを発生させ、次のように実行できるようにする必要があります。

<screen>
    <container name="customer-list" ..>
        <!-- some content over here -->
    </container>

    <action:behaviors>
        <action:when widget-event="customer-list.onClick">
            <!-- some actions here -->
        </action:when>
    </action:behaviors>
</screen>
4

1 に答える 1

2

onClickイベントのサポートを追加するには、ウィジェットに以下を追加する必要があります。

ウィジェットのコンストラクターでイベントを宣言します。

WidgetName = function() {
    this.onClick = new Toronto.client.Event("WidgetName onClick");
};

次に、startupメソッドに次の行を追加します。

widgetContext.addManagedDOMEvent(this.getContainerElement(), "onclick", this._onClickHandler, this, "WidgetName onClick binding");

実装する必要があるのは、実際のハンドラーだけです。

, _onClickHandler: function() {
    this.onClick.fireEvent({
        widget: this
    });
}

アイデアは、ウィジェットにイベントを追加し、イベントをDOMノードにバインドし、ハンドラーでfireEventの属性オブジェクトを拡張して、画面に必要なすべての関連する詳細を含めることです。

于 2012-09-03T08:10:39.617 に答える