GWT:我正在使用jScrollPane和jquery,是不是搞乱了我的ClickHandlers?

时间:2012-10-17 13:23:52

标签: gwt jscrollpane jquery-jscrollpane gwtquery gquery

我实现了JScrollPane,以便在我的页面内更清晰地看一下。

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

添加了自定义Widget:

$(“。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 Widget,其中包含一些Text和另一个HTML小部件。

真正的问题是:我想将一个CellTable添加到jspPane中,但是ClickableTextCell中的侦听器被删除了。我不知道我是否可以实现CellTable并使用GWTQuery添加ClickListener。

嗯,如果您需要更多信息或来源告诉我,任何帮助都表示赞赏。

谢谢

1 个答案:

答案 0 :(得分: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设置一个id

Widget myContent = new Content();
Panel jsPane = RootPanel.get("jsPaneId");
jsPane.add(myContent);