首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有GQuery的Jquery + gwt

没有GQuery的Jquery + gwt
EN

Stack Overflow用户
提问于 2012-09-20 15:48:21
回答 2查看 562关注 0票数 0

在此之后,我尝试将Jquery库添加到我的项目中,然后添加tipsy.js,以便使用工具提示创建一个“插件”。

问题是,我已经在我的gwt.xml文件中添加了js,但仍然不能将"$“调用到jQuery

我的gwt.xml文件是:

代码语言:javascript
复制
<module ... 
  <!-- jquery and plugins -->
  <script src="/javascripts/jquery.min.js"></script>
  <script src="/javascripts/tipsy.js"></script>

使用js中的调用的方法是:

代码语言:javascript
复制
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)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-20 16:10:10

我已经解决了像这样将这些文件添加到home.html文件中的问题:

代码语言:javascript
复制
    <!-- 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调用插件的方法:

代码语言:javascript
复制
    public static native void allClassName(String className) /*-{
      $wnd.jQuery(className).tipsy({trigger: 'focus', gravity: 'w'});
    }-*/;
票数 2
EN

Stack Overflow用户

发布于 2015-01-08 10:46:04

在GWT的最后一个版本中,您不能在模块中添加javascript文件,您需要以这种方式在EntryPoint中注入:

在你的EntryPoint课程中:

代码语言:javascript
复制
ScriptInjector.fromString(PluginClientBundle.INSTANCE.plugins().getText())
        .setWindow(ScriptInjector.TOP_WINDOW)
        .inject();

你的班德尔课

代码语言:javascript
复制
public interface PluginClientBundle extends ClientBundle {
  static final PluginClientBundle INSTANCE = GWT.create(PluginClientBundle.class);

   @Source("resource/js/jquery-plugin.min.js")
   TextResource plugins();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12516267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档