gwt事件处理程序无法以任何方式工作

gwt事件处理程序无法以任何方式工作,gwt,handler,uibinder,Gwt,Handler,Uibinder,我对GWT里的这件奇怪的事很有兴趣 当我将uibinder设置为getBody().addpend()时,事件不会触发,但当我使用RootPanel.get().add(new p1())时它会工作;作品看起来这与您将uibinder添加到页面的方式有关 工作事件::RootPanel.get().add(新p1()); 不工作: Document.get().getBody().appendChild(new p1().getElement());` 事件处理程序看起来: not work

我对GWT里的这件奇怪的事很有兴趣

当我将uibinder设置为getBody().addpend()时,事件不会触发,但当我使用RootPanel.get().add(new p1())时它会工作;作品看起来这与您将uibinder添加到页面的方式有关

工作事件::
RootPanel.get().add(新p1());
不工作:

Document.get().getBody().appendChild(new p1().getElement());` 
事件处理程序看起来:

not working event::  Document.get().getBody().appendChild(new p1().getElement());
not working event::  Document.get().getBody().appendChild(new p1().getElement());


@UiHandler ("bleh")
void handleClick(ClickEvent e)
if(lEntidad.getText().length()>1)


我看不到您的所有代码来证实这一点,但是如果您使用getElement()将小部件添加到应用程序中,那么您通过gwt添加的任何事件都不会通过。幕后有一个特殊的事件逻辑GWT句柄,可以在内存泄漏安全的环境中工作

您不应该使用
Document.appendChild()
,而应该使用您的父窗口小部件或ui.xml文件的根。例如,一个
HTLMPanel
。将您的新小部件直接添加到该小部件中,那么您在小部件上的事件将通过

总结

如果元素上有事件,则不要添加元素。而是添加小部件。这解决了我遇到的问题。

您可能会感兴趣。阅读更多关于
lEntidad.setText("");