我使用少量容器小部件进行屏幕布局。我需要扩展容器以进行“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>
答案 0 :(得分:2)
要添加对onClick事件的支持,您需要向窗口小部件添加以下内容:
在小部件的构造函数中声明事件:
WidgetName = function() {
this.onClick = new Toronto.client.Event("WidgetName onClick");
};
然后在启动方法中添加以下行:
widgetContext.addManagedDOMEvent(this.getContainerElement(), "onclick", this._onClickHandler, this, "WidgetName onClick binding");
并且唯一要实现的是实际的处理程序:
, _onClickHandler: function() {
this.onClick.fireEvent({
widget: this
});
}
我们的想法是,您可以向窗口小部件添加事件,将事件绑定到DOM节点,并在处理程序中扩展fireEvent的属性对象,以包含屏幕所需的所有相关详细信息。