我想在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/