未捕获的TypeError:undefined不是$ in strict模式的函数

时间:2015-10-24 12:30:08

标签: javascript jquery

我调用了一个在严格模式下使用javascript的javascript文件。通常,当函数没有将$传递给函数但我通过它时,会出现标题中提到的错误:

(function ($) {
    'use strict';

    // Many functions here

    $(document).ready(
        function () {
            // bla bla
        }
    );

}($));

我的系统中还有另外两个JS文件以相同的方式工作,没有任何问题。合并文件可能有助于我的商业模式,但我首先想要在简单解决方案之前理解技术问题。

谢谢你。

2 个答案:

答案 0 :(得分:1)

jQuery实例传递给IIFE。如果页面上有其他库使用$符号在noConflict中使用$将无法按预期工作(其中$作为其他库句柄)。

(function ($) {
    'use strict';

    $(document).ready(function () {
        // bla bla
    });
}(jQuery));

答案 1 :(得分:0)

好的,我找到了答案。 noConflict()解决了这个问题:

var $ = jQuery.noConflict();

放在脚本的开头解决了与$。相关的问题。