从java GWT代码调用.js文件的Javascript函数
我在JavaGWT代码中有一个按钮。我在scripts文件夹中有一个javascript文件。我想在点击按钮时访问js文件的功能 那么我如何从JavaGWT代码(按钮的点击事件)调用该方法呢 谁能告诉我访问js文件函数的代码或方式吗 提前谢谢从java GWT代码调用.js文件的Javascript函数,java,javascript,gwt,Java,Javascript,Gwt,我在JavaGWT代码中有一个按钮。我在scripts文件夹中有一个javascript文件。我想在点击按钮时访问js文件的功能 那么我如何从JavaGWT代码(按钮的点击事件)调用该方法呢 谁能告诉我访问js文件函数的代码或方式吗 提前谢谢 在.html文件中导入JS库 创建如下方法: public static native void onMyButtonClick() /*-{ myJSfunction(); }-*/; myButton.addClickHandler(new
public static native void onMyButtonClick() /*-{
myJSfunction();
}-*/;
myButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event)
{
onMyButtonClick();
}
});
public static native void onMyButtonClick() /*-{
myJSfunction();
}-*/;
myButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event)
{
onMyButtonClick();
}
});
欢迎光临 因为您的代码不应该依赖于gwt链接器(以及它如何加载代码),所以您需要在调用之前添加正确的窗口对象。REPA没有考虑到这一点。因此,它实际上需要:
public static native void onMyButtonClick() /*-{
$wnd.myJSfunction();
}-*/;
这对某些链接器不起作用,因为全局窗口对象(在其中查找myJSfunction)可能不是同一个窗口对象。(gwt可以在隐藏的iframe中加载代码…)在我看来,您至少使用标准链接器选择了一个不起作用的答案,Daniels one更好。如果您想知道此代码中的异常注释,或者为什么需要
$wnd
,请查看gwt的更多详细信息。