[英]onClick/onSelected Event of a button in a GWT CellList
I have a GWT CellList. 我有一个GWT CellList。 Each Cell has one image, two label, and one button.
每个单元都有一个图像,两个标签和一个按钮。
Whenever user click a Cell, onSelected event occures. 每当用户单击单元格时,就会发生onSelected事件。
I want to fire onClick event if user click on a button, onSelected if click other area(not inside button). 如果用户单击按钮,我想触发onClick事件,如果单击其他区域(不在按钮内),则触发onSelected。
Is it possible to do that? 有可能这样做吗?
The easiest way is to override onBrowserEvent(...)
method of AbstractCell<C>
. 最简单的方法是重写
AbstractCell<C>
onBrowserEvent(...)
方法。 Here is how i implemented it to deal with click events on a <a/>
element: 这是我实现它以处理
<a/>
元素上的点击事件的方式:
@Override
public void onBrowserEvent(Context context, Element parent, BIBonusDto value, NativeEvent event,
ValueUpdater<BIBonusDto> valueUpdater) {
super.onBrowserEvent(context, parent, value, event, valueUpdater);
if ("click".equals(event.getType())) {
EventTarget eventTarget = event.getEventTarget();
if (!Element.is(eventTarget)) {
return;
}
if (parent.getElementsByTagName("a").getItem(0).isOrHasChild(Element.as(eventTarget))) {
if (valueUpdater != null)
valueUpdater.update(value);
}
}
}
the cell template looks like this: 单元格模板如下所示:
<div id='info' class='campaign' style='cursor:default;'>
<div id='claim-inner2'>
<a id='claim-inner1' style='cursor:pointer;'>
<div id='claim-inner' title='Claim Points Now'></div>
</a>
</div>
</div>
We have to check if the event is of the right type and if it's an element, then we can check if it's the right one and delegate the action to a value updater callback. 我们必须检查事件的类型是否正确以及是否是元素,然后可以检查事件的类型是否正确并将事件委托给值更新程序回调。
I think you want something like this, http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellSampler 我想您想要这样的东西, http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellSampler
You can either have ActionCell or ButtonCell. 您可以具有ActionCell或ButtonCell。
Let me know if this serve your purpose or not. 让我知道这是否达到您的目的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.