Javascript jQuery Spectrum-如何使用更新的调色板数组重新初始化

Javascript jQuery Spectrum-如何使用更新的调色板数组重新初始化,javascript,jquery,Javascript,Jquery,我使用jQuery spectrum和7种不同的颜色选择器 选择器都加载了相同的6种颜色-如果从颜色选择器中选择了新的活动颜色,我希望所有调色板使用原始颜色+新的活动颜色重新初始化 Spectrum的功能可以在开箱即用的情况下接近这一点,但令人遗憾的是,它仍然显示新的选定颜色,即使它们不处于活动状态,我只想要活动或原始调色板 以下是我的一个电话: /* FG COLOR */ function fgColor(color) { var hexColor = "#ffffff";

我使用jQuery spectrum和7种不同的颜色选择器

选择器都加载了相同的6种颜色-如果从颜色选择器中选择了新的活动颜色,我希望所有调色板使用原始颜色+新的活动颜色重新初始化

Spectrum的功能可以在开箱即用的情况下接近这一点,但令人遗憾的是,它仍然显示新的选定颜色,即使它们不处于活动状态,我只想要活动或原始调色板

以下是我的一个电话:

/* FG COLOR */
function fgColor(color) {
    var hexColor = "#ffffff";
    if (color) {
        hexColor = color.toHexString();
    }
    $(".fgcolor").css("color", hexColor);
}

$(".fgcolorpicker").spectrum({
    showInput: true,
    showInitial: true,
    preferredFormat: "hex",
    showSelectionPalette: false,
    showPalette: true,
    palette: [
        ['#3C3F3D', '#98B82A', '#D8A51A'],
        ['#81904D', '#ffffff', '#98B82A']
    ],
    color: "#3C3F3D",
    maxSelectionSize: 1,
    change: fgColor
});

fgColor($(".fgcolorpicker").spectrum("get"));
以上工作很好。。。然而,当我想重新绘制调色板时,我被卡住了。。。我认为将调色板传递回频谱会像:

$(".fgcolorpicker").spectrum({
    palette: [
        ['#3C3F3D', '#98B82A', '#D8A51A'],
        ['#81904D', '#ffffff', '#98B82A']
    ]
});
但它不喜欢它,只有当我用不同的十六进制通过完整的原始调用时才会更新

有人能提供建议吗?

上面写着:

$(“#选择器”).spectrum(“选项”,选项名称,新选项值)
是用于更新的语法。所以你可以试试下面的方法

$('.fgcolorpicker').spectrum("option", "palette", [
    ['#3C3F3D', '#98B82A', '#D8A51A'],
    ['#81904D', '#ffffff', '#98B82A']
]);

非常感谢-我忽略了这一点-我太过努力地浏览“调色板”-非常感谢-jQuery小学习步骤@用户1523591在你问这个问题之前我自己都不知道。顺便说一句,很高兴能帮助你:)