从原始HTML获取Image元素

时间:2014-01-24 11:49:37

标签: image gwt jsni

我的应用通过SafeHTMLBuilder创建popUp。我想将Click处理程序(调整onClick)添加到此img。

我知道如果我使用uiBinder,我可以添加ui:field tag:

   @UiField
   Image 
   ...
    image.addClickhandler(...);

在我的情况下,我认为我应该使用JSNI,但我不知道它看起来如何。

SafeHtmlBuilder html = new SafeHtmlBuilder();
    html.appendHtmlConstant("<div class=\"detailsPopup\">")
        .append(TEMPLATES.image(record.getImageUrl()))
        .appendHtmlConstant("</div>")

图片模板

  @Template("<img id=\"img\" src=\"{0}\"/>")
   SafeHtml image(String url);

1 个答案:

答案 0 :(得分:0)

您可以使用Label.wrap()实现这一目标。您的代码看起来像这样(未经过测试)

 Element element = new Element();
 element.setInnerSafeHtml(html.toSafeHtml());
 Label label = new Label();
 label.wrap(element);
 label.addClickHandler....

或者只是像这样使用GwtQuery

$("#detailsPopup").click(new Function() { 
 public boolean f(Event e){
    Window.alert("This is GWT code without widget baggage!");
     return true;
  }
});