私はGWT CellListを持っています。各セルには、1つのイメージ、2つのラベル、および1つのボタンがあります。onClick/onSelected GWT CellList内のボタンのイベント
ユーザーがセルをクリックするたびに、onSelectedイベントが発生します。
ボタンをクリックしたときにonClickイベントを発生させたい場合は、 onSelected(ボタンの内側ではない)をクリックするとオンになります。
これは可能ですか?
私はGWT CellListを持っています。各セルには、1つのイメージ、2つのラベル、および1つのボタンがあります。onClick/onSelected GWT CellList内のボタンのイベント
ユーザーがセルをクリックするたびに、onSelectedイベントが発生します。
ボタンをクリックしたときにonClickイベントを発生させたい場合は、 onSelected(ボタンの内側ではない)をクリックするとオンになります。
これは可能ですか?
私はあなたがどちらかActionCellやボタン型電池を持つことができ、このような何か、 http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellSampler
をしたいと思います。
これがあなたの目的に役立つかどうかを教えてください。
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>
私たちは、イベントが右のタイプのものであり、かどうかを確認する必要がありますそれが要素の場合は、それが正しいかどうかをチェックし、アクションを値アップデータコールバックに委譲できます。
親切に感謝します。私はそれを試してみます:-) – solikang
ご意見ありがとうございます。ごめんなさい。あなたの提案は良いですが、私が望むものではありません。 CellListをカスタマイズしたいと思います。私は、CellListのメンバーの中でボタンと他の領域のフォーカスを分離したい。 – solikang