2014-01-24 3 views
0

Мое приложение создает popUp через SafeHTMLBuilder. Я хочу добавить обработчик Click (изменить размер onClick) на этот img.Получение элемента изображения из необработанного HTML

Я знаю, что если я использую UiBinder я могу добавить пользовательский интерфейс: поле метки:

@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); 
+0

Можете ли вы предоставить код для всплывающего окна, что вы строите с помощью SafeHTMBuilder? – spg

ответ

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; 
    } 
}); 
Смежные вопросы