GWT: я использую jScrollPane с jquery, это мешает моим ClickHandlers?

Я реализовал JScrollPane для более чистого просмотра моей страницы.

function scrollPane() {
$(".gwt-content").jScrollPane();
}

Пользовательский виджет добавляется:

$ (". jspPane"). append ($ (new Content ());

работает

$(html).click(new Function() {
public boolean f(Event e) {
System.out.println("yo");
return true;
}
});

не

html.addClickHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) {
System.out.println("yo1");
}
});

html - это виджет HTML, в котором есть текст и другой виджет HTML.

Реальная проблема заключается в следующем: я хочу добавить CellTable в jspPane, но прослушиватель в ClickableTextCell удален. Я не знаю, смогу ли я реализовать CellTable и использовать GWTQuery для добавления ClickListener.

Ну, любая помощь приветствуется, если вам нужно больше информации или источника, скажите мне.

Спасибо

1 ответ

Решение

Чтобы JScrollPane мог содержать виджет, вы должны поместить его в панель gwt, так как он был создан jquery.

Gwt строг в том смысле, что вы должны иметь согласованную иерархию виджетов.

Gquery манипулирует dom, и элементы виджетов, добавленные с ним, обрабатываются как элементы и не вставляются в дерево виджетов, если для этого не используются специальные методы, присутствующие в gwtquery.

Вы можете решить свою проблему одним из способов:

Gquery: это работает только с последним снимком

Widget myContent = new Content();
Panel jsPane = $(".jspPane").as(Widgets.Widgets).panel().widget();
jsPane.add(myContent);

GWT: здесь вы должны установить идентификатор для вашего jsPane

Widget myContent = new Content();
Panel jsPane = RootPanel.get("jsPaneId");
jsPane.add(myContent);
Другие вопросы по тегам