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);