在此之后,我尝试将Jquery库添加到我的项目中,然后添加tipsy.js,以便使用工具提示创建一个“插件”。
问题是,我已经在我的gwt.xml文件中添加了js,但仍然不能将"$“调用到jQuery
我的gwt.xml文件是:
<module ...
<!-- jquery and plugins -->
<script src="/javascripts/jquery.min.js"></script>
<script src="/javascripts/tipsy.js"></script>使用js中的调用的方法是:
public static native void allClassName(String className) /*-{
$wnd.jQuery(className).tipsy({trigger: 'focus', gravity: 'w'});
}-*/;但我总是犯了这个错误:
由: com.google.gwt.core.client.JavaScriptException:(TypeError)引起的at java.lang.Thread.run(Thread.java:680):Object object窗口在com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) at com.google的java.lang.Thread.run上没有方法'jQuery‘。gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107) at netagenda.ui.gwt.client.gin.ClientGinjectorImpl.com$gwtplatform$mvp$client$HandlerContainerImpl_automaticBind_methodInjection___(ClientGinjectorImpl.java) at netagenda.ui.gwt.client.gin.ClientGinjectorImpl.memberInject_Key$type$netagenda$ui$gwt$client$pages$backend$customers$presenter$CustomerPagePresenter$_annotation$$none$$(ClientGinjectorImpl.java:1395) at netagenda.ui.gwt.client.gin.ClientGinjectorImpl.create_Key$type$netagenda$ui$gwt$client$pages$backend$customers$presenter$CustomerPagePresenter$_annotation$$none$$(ClientGinjectorImpl.java:1408) at netagenda.ui.gwt.client.gin.ClientGinjectorImpl.get_Key$type$netagenda$ui$gwt$client$pages$backend$customers$presenter$CustomerPagePresenter$_annotation$$none$$(ClientGinjectorImpl.java:1421) at netagenda.ui.gwt.client.gin.ClientGinjectorImpl.access$12(ClientGinjectorImpl.java:1419) at netagenda.ui.gwt.client.gin.ClientGinjectorImpl$13$1.onSuccess(ClientGinjectorImpl.java:2768) at com.google.gwt.core.client.GWT.runAsync(GWT.java:255)
发布于 2012-09-20 16:10:10
我已经解决了像这样将这些文件添加到home.html文件中的问题:
<!-- jquery and plugins -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> </script>
<script src="http://onehackoranother.com/projects/jquery/tipsy/javascripts/jquery.tipsy.js"></script>接下来是我用gwt调用插件的方法:
public static native void allClassName(String className) /*-{
$wnd.jQuery(className).tipsy({trigger: 'focus', gravity: 'w'});
}-*/;发布于 2015-01-08 10:46:04
在GWT的最后一个版本中,您不能在模块中添加javascript文件,您需要以这种方式在EntryPoint中注入:
在你的EntryPoint课程中:
ScriptInjector.fromString(PluginClientBundle.INSTANCE.plugins().getText())
.setWindow(ScriptInjector.TOP_WINDOW)
.inject();你的班德尔课
public interface PluginClientBundle extends ClientBundle {
static final PluginClientBundle INSTANCE = GWT.create(PluginClientBundle.class);
@Source("resource/js/jquery-plugin.min.js")
TextResource plugins();
}https://stackoverflow.com/questions/12516267
复制相似问题