从java GWT代码调用.js文件的Javascript函数

MS.*_*MS. 15 javascript java gwt

我在Java GWT代码中有一个按钮.我在脚本文件夹中有一个javascript文件.我想在按钮点击上访问该js文件的功能.

那么如何从Java GWT代码中调用该方法(Button的click事件)..?

任何人都可以告诉我访问js文件功能的代码或方式.

提前致谢.

Dan*_*rka 20

由于您的代码不应该依赖于gwt链接器(以及它如何加载代码),因此您需要使用正确的窗口对象为调用添加前缀.Reapp没有考虑到这一点.所以它实际上需要是:

public static native void onMyButtonClick() /*-{
    $wnd.myJSfunction();
}-*/;
Run Code Online (Sandbox Code Playgroud)


Joh*_*n S 6

  1. 在.html文件中导入JS Lib.
  2. 创建一个这样的方法:

    public static native void onMyButtonClick() /*-{
        myJSfunction();
    }-*/;
    
    Run Code Online (Sandbox Code Playgroud)
  3. 像这样绑定你的按钮:

    myButton.addClickHandler(new ClickHandler() {
    
        @Override
        public void onClick(ClickEvent event)
        {
            onMyButtonClick();
        } 
    
    });
    
    Run Code Online (Sandbox Code Playgroud)
  4. 完成!

只需确保在生成的GWT javascript之前加载包含您的函数的javascript.

别客气!

  • 这不适用于某些链接器,因为全局窗口对象(在其中查找myJSfunction)可能不是同一个窗口对象.(gwt可以在隐藏的iframe中加载代码......) (2认同)