修复光谱颜色选择器中的错误

Fix error in spectrum color picker

我实现了 spectrum color picker,我正在尝试修复 JSLint 错误。我有 2 种类型的错误,我似乎无法修复。这是错误

  • 'var' was used before it was defined

  • Move the invocation into the parens that contain the function

这是有错误的代码:

(function (factory) {
    "use strict";

    if (typeof define === 'function' && define.amd) { // AMD
        define(['jquery'], factory);
    } else if (typeof exports === "object" && typeof module === "object") { // CommonJS
        module.exports = factory;
    } else { // Browser
        factory(jQuery);
    }
})(function($, undefined) {
    "use strict";
   ...

defineexportsmodule都有未定义的错误。

然后第二个函数:})(function($, undefined) {出现上面说的2nd错误。所以我检查了 that error,并尝试了它所说的: }(function ($, undefined) ) { 我将右括号移到了最后,现在我得到以下错误:

Expected '{' and instead saw '}'.

如何解决上述 2 个错误?

})(function($, undefined) { 转换为 }(function ($, undefined) ) { 是错误的,因为您还需要将 {} 移到括号内,如下所示:

(function() {
    ...
}(function() { ... }));

关于您收到的未定义错误,只需将此注释放在您的 JS 文件的顶部:

/*global define, module, exports*/

如果您还需要排除它们,请随意添加一些其他常用变量:

/*global define, module, exports, document, window, alert, console, require*/