0

我正在将 vaadin 项目从vaadin 6版本更新为vaadin 7. 它包含一些在旧版本中运行良好的原生 Javascript 方法。然而,其中一些在应该被调用时抛出异常。我对编程不够熟悉Javascript,因此无法确定错误的来源。具体方法是:

 protected static native void addSthToImg()
    /*-{
        $wnd.$(document).ready(function() {
            var = $wnd.$;
            var('.settingswrapper > img').addClass("imgStartup");
            if (var('.settingswrapper > img').hasClass("imgStartup")) {
                console.log("imgStartup exist");
                var('.settingswrapper > img')
      .animate(null, 300, function() {
                    var('.settingswrapper > img').removeClass("imgStartup");
                    var('.settingswrapper > img').addClass("imagePopIn");

                });
            }
        });
    }-*/;

在 Chrome 的控制台上,我看到了错误堆栈跟踪:

Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) : Object [object global] has no method '$'

什么可能是错误的可能原因,为什么它在旧版本中工作?缺少罐子/库吗?

4

1 回答 1

0

似乎 jQuery 别名$未在全局范围内定义(由 表示$wnd)。你确定你的页面包含 jQuery 吗?

您的 HTML 源代码中应该有类似<script src="/js/jquery.js" type="text/javascript"></script>(但指向​​项目中 jquery.js 的实际位置)的内容。我不知道 Vaadin 是否自动管理 JavaScript 库,因为我不熟悉该框架。

于 2013-10-02T07:48:41.187 回答