我想在GWT中使用JavaScript库。

我将文件放在公用文件夹中,以便在客户端和服务器之间共享,并按照本教程(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();


每次执行我的javscriptcode时,都会出现“不是函数”异常。

   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...
    });

}-*/;

最佳答案

假设fullCalendar来自jQuery插件,则不修改DOM元素。您需要将其包装在jQuery“对象”中(通常为$(calendar),此处可能为$win.$(calendar)

关于javascript - 如何通过ScriptInjector在GWT中使用JS库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36643033/

10-13 09:11