【问题标题】:anchor element click event锚元素点击事件
【发布时间】:2012-12-25 22:54:39
【问题描述】:

我使用 uibinder 已经有一段时间了,并且非常擅长它。我知道所有关于使用 HTMLPanel 和 Anchor 添加点击处理程序的知识。但是,在某些情况下,这种设计方法根本不符合要求。

假设我有一个无序列表,每个列表都有一些锚元素。

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

最好将每个 li 作为一个组件(java 类),这样您就可以在 ul 中添加该组件的多个实例。这意味着在 ui.xml 中,您从 li 开始(我看不到其他方式)。但是没有办法在里面插入Anchor。你不能用 HTMLPanel 替换 li ,因为这会创建一个你不想要的 div 。

通过在这个 uibinder 中将锚点保留为 a,将无法检测到锚点单击事件。

有什么想法吗?

【问题讨论】:

    标签: gwt click anchor


    【解决方案1】:

    在您的 HTML 中,将 ID 设置为锚点:

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

    在您的 GWT 代码中,将锚点包装到一个小部件中:

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

    然后给它添加点击处理程序:

    testAnchor.addDomHandler(new ClickHandler(){...}, ClickEvent.getType());
    

    【讨论】:

      【解决方案2】:

      您可以在&lt;li&gt; 标签内添加 Anchor 小部件:

      <g:HTMLPanel>
          <ul>
              <li>
                  <g:Anchor ui:field="link" />
              </li>
          </ul>
      </g:HTMLPanel>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多