Самый простой способ - переопределить onBrowserEvent(...)
метод AbstractCell<C>
. Вот как я реализовал его, чтобы иметь дело с событий щелчка на <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);
}
}
}
шаблон клетка выглядит следующим образом:
<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>
Мы должны проверить, если событие имеет правильный тип и если это элемент, то мы можем проверить, является ли он правильным и делегировать действие на обратный вызов обновления значения.
Спасибо за ваш комментарий. Извините слишком поздно, ответьте вам. Ваше предложение хорошее, но это не то, что я хочу. Я хочу настроить CellList. Я хочу, внутри члена CellList, отделяя фокус кнопки и другой области. – solikang