2012-08-16 26 views
13

Java GWTコードにボタンが1つあります。私はスクリプトフォルダに1つのjavascriptファイルを持っています。ボタンのクリックでそのjsファイルの機能にアクセスしたい。Java GWTコードから.jsファイルのJavascript関数を呼び出す

Java GWTコード(ボタンのクリックイベント)からそのメソッドを呼び出す方法はありますか。

jsファイルの機能にアクセスするコードや方法を教えていただけますか?

ありがとうございました。

+0

IMOあなたは、少なくとも標準リンカーを使用して、動作していない回答を選択しましたが、Danielsの方が優れています。 –

答えて

17

あなたのコードはgwtリンカー(およびコードの読み込み方法)に依存してはならないので、呼び出しに正しいウィンドウオブジェクトを接頭辞として付ける必要があります。 Reappはそれを考慮しません。したがって、実際には:

public static native void onMyButtonClick() /*-{ 
    $wnd.myJSfunction(); 
}-*/; 
+0

このコードの珍しいコメントや '$ wnd'が必要な理由については、GWTの[JavaScript Native Interface(JSNI)docs](http://www.gwtproject.org/doc/latest/)を参照してください。 DevGuideCodingBasicsJSNI.html)を参照してください。 –

6
  1. .htmlファイルにJS Libをインポートします。
  2. は次のようにメソッドを作成します。このようなあなたのボタンのバインド

    public static native void onMyButtonClick() /*-{ 
        myJSfunction(); 
    }-*/; 
    
  3. myButton.addClickHandler(new ClickHandler() { 
    
        @Override 
        public void onClick(ClickEvent event) 
        { 
         onMyButtonClick(); 
        } 
    
    }); 
    
  4. を完了します!

あなたの関数を含むjavascriptが、生成されたGWT javascriptの前にロードされていることを確認してください。

あなたの歓迎!

+2

グローバルウィンドウオブジェクト(myJS関数を検索している)が同じウィンドウオブジェクトではない可能性があるため、これはリンカによっては機能しません。 (gwtは非表示のiframeにコードを読み込むことができます...) –

+0

ありがとうございます。その働き。 –

関連する問題