0

私はしばらくuibinderを使用しており、かなり上手になりました。クリック ハンドラーを追加するための HTMLPanel と Anchor の使用についてはすべて知っています。ただし、この設計アプローチが単純に当てはまらない場合があります。

順序付けられていないリストがあり、各リストにはいくつかのアンカー要素があるとします。

<ul><li><a ...></li>...</ul>

ul 内にコンポーネントの複数のインスタンスを追加できるように、各 li をコンポーネント (Java クラス) として作成することをお勧めします。これは、ui.xml 内で、li から開始することを意味します (他の方法はわかりません)。しかし、アンカーを中に挿入する方法はありません。不要な div が作成されるため、li を HTMLPanel に置き換えることはできません。

この uibinder でアンカーを のままにしておくと、アンカー クリック イベントを検出する方法がありません。

何か案は?

4

2 に答える 2

1

HTML で、ID をアンカーに設定します。

<a id='testachor'>...</a>

GWT コードで、アンカーをウィジェットにラップします。

Anchor testAnchor = Anchor.wrap(Document.getElementById('testanchor'));

次に、クリック ハンドラーを追加します。

testAnchor.addDomHandler(new ClickHandler(){...}, ClickEvent.getType());
于 2012-12-26T03:48:02.007 に答える
1

タグ内にアンカーウィジェットを追加できます<li>

<g:HTMLPanel>
    <ul>
        <li>
            <g:Anchor ui:field="link" />
        </li>
    </ul>
</g:HTMLPanel>
于 2012-12-26T04:10:15.647 に答える