【问题标题】:jQuery plugin gives "jQuery is not defined"jQuery 插件给出“jQuery 未定义”
【发布时间】:2018-03-26 12:48:42
【问题描述】:

我正在尝试构建自己的 jQuery 插件。 Ik 如下所示:

(function ( $ ) {

    $.fn.greenify = function() {
        this.css( "color", "green" );
        return this;
    };

}(jQuery));

但是,当尝试运行此插件时,错误:

jQuery is not defined

我的 app.js 如下所示:

import $ from 'jquery';
global.$ = global.jQuery = $;
import './greenify';

有人可以帮忙解释为什么会这样吗?

编辑

问题是它找不到 jQuery。 Wat 解决了这个问题,而不是

}(jQuery));

输入

}(global.jQuery));

而不是 import './greenify'; 做:

require('./greenify');

【问题讨论】:

  • 尝试}($)); 而不是}(jQuery));

标签: javascript jquery reactjs jquery-plugins


【解决方案1】:

发生这种情况是因为您正在导入 $ 变量尝试更改为

(function ( $ ) {

    $.fn.greenify = function() {
        this.css( "color", "green" );
        return this;
    };

}($));

【讨论】:

  • 然后我的错误变为:“$ 未定义”。这怎么可能?
  • 验证你已经在你的包中安装了jquery,并验证路由是否正确......你可以用这个答案来做......stackoverflow.com/a/33351325/2894798
  • 根据:learn.jquery.com/plugins/basic-plugin-creation (function ( $ ) { }(jQuery)); 是保护$ 的正确方法,以防它被另一个插件使用。在参数中添加$ 是没有意义的,也可能不在参数中/通过。不要做这里建议的事情。
  • 是的,jQuery 已安装。我刚刚重做了这些步骤
  • @RenzoCalla 那我该怎么办?
猜你喜欢
  • 2013-04-26
  • 2017-10-22
  • 2011-08-27
  • 2012-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
相关资源
最近更新 更多