2016-04-15 18 views
1

私はGWTでjavascriptライブラリを使いたいと思います。ScriptInjector経由でGWTでJS libを使用するには?

ファイルをパブリックフォルダに入れて、クライアントとサーバーの間で共有し、このチュートリアル(https://pelle.io/2015/01/27/integrating-javascript-libraries-into-gwt-using-jsni/)に続いてjavscriptを挿入します。

StyleInjector.inject(INSTANCE.fullcalendarCSS().getText()); 
    StyleInjector.inject(INSTANCE.fullcalendarPrintCSS().getText()); 
    StyleInjector.inject(INSTANCE.schedulerCSS().getText()); 
    ScriptInjector.fromString(INSTANCE.jqueryJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); 
    ScriptInjector.fromString(INSTANCE.momentJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); 
    ScriptInjector.fromString(INSTANCE.fullcalendarJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); 
    ScriptInjector.fromString(INSTANCE.scheduleJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); 

javascriptコードを実行するたびに、「関数ではない」例外が発生します。仮定fullCalendar

public static native void drawScheduler() /*-{ 

    var calendar = $doc.getElementById("calendar"); 
    calendar.fullCalendar({ 
     defaultView: 'timelineMonth', 
     events: [ 
      // events go here 
     ], 
     resources: [ 
      // resources go here 
     ] 
     // other options go here... 
    }); 

}-*/; 
+0

gwtのバージョンは何を使用していますか? – hahn

答えて

2

はjQueryプラグイン、その後、DOM要素が変更されないからです。 jQueryの「オブジェクト」にラップする必要があります(一般的に$(calendar)$win.$(calendar)