GWT UiBinder中本机元素属性的JSNI
是否可以将本机元素的事件处理属性绑定到小部件方法GWT UiBinder中本机元素属性的JSNI,gwt,uibinder,jsni,Gwt,Uibinder,Jsni,是否可以将本机元素的事件处理属性绑定到小部件方法 <g:HTMLPanel> <div onclick="{???}">Hello</div> </g:HTMLPanel> 你好 是的 例如,在MyWidget.ui.xml <!DOCTYPE ui:UiBinder SYSTEM 'http://dl.google.com/gwt/DTD/xhtml.ent'> <ui:UiBinder xmlns:ui='urn:ui
<g:HTMLPanel>
<div onclick="{???}">Hello</div>
</g:HTMLPanel>
你好
是的
例如,在MyWidget.ui.xml
<!DOCTYPE ui:UiBinder SYSTEM 'http://dl.google.com/gwt/DTD/xhtml.ent'>
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style>
</ui:style>
<g:HTMLPanel>
<div onclick="myFunction()"> DIV EXAMPLE </div>
</g:HTMLPanel>
</ui:UiBinder>
在您的GWT
入口点中:
public class ExampleGWT implements EntryPoint {
public void onModuleLoad() {
MyWidget m = new MyWidget();
RootPanel.get().add(m);
}
}
您将能够看到“再见”警报
我想你有这样做的理由,但在我看来,这不是使用GWT的最佳方式((你不能调试,你错过了GWT的编译器优化,你不能正确地利用UiBinder和Composite…)
如果您向我们提供有关您的场景的更多详细信息,也许我们可以为您指明更好的方向(有GQuery之类的工具,它允许您在不使用样板代码的情况下快速绑定事件)
谢谢!我可以想出一个解决办法,但这有点麻烦。另外,您需要处理多个小部件实例,因此突然您必须为您的JS方法传递某种令牌或唯一名称:(
public class ExampleGWT implements EntryPoint {
public void onModuleLoad() {
MyWidget m = new MyWidget();
RootPanel.get().add(m);
}
}