Изменение цветовой палитры спектра jQuery после инициализации?

Я использую jQuery Spectrum в качестве средства выбора цвета в своем приложении ( http://bgrins.github.io/spectrum). Я не могу понять, как установить палитру после того, как плагин был инициализирован.

Вот как я создаю палитру, когда она впервые инициализируется:

$("#showPalette").spectrum({
    showPalette: true,
    palette: [
        ['black', 'white', 'blanchedalmond'],
        ['rgb(255, 128, 0);', 'hsv 100 70 50', 'lightyellow']
    ]
});

Как я могу обновить палитру до нового выбора цветов без разрушения и повторной инициализации?

Спасибо за любую помощь.

1 ответ

Решение

Видел, что никто еще не ответил на это, поэтому я подумал, что я попробую. Короткий ответ - это то, что можно изменить почти все, когда это будет в DOM. Я создал простую демонстрацию, чтобы показать инициализацию цветовой палитры, а затем динамически добавлять (и удалять) цвет к палитре.

Надеюсь это поможет.

демонстрация кода jsfiddle

$("#colorTest").spectrum({
    showPalette: true,
    flat: true,
    palette: [
        ['black', 'white', 'blanchedalmond'],
        ['rgb(255, 128, 0);', 'hsv 100 70 50', 'lightyellow']
    ]
});

$('#add').click( function() {
    var newColor = "<span id='colorRed' title='red' data-color='red' class='sp-thumb-el sp-thumb-light'><sp class='sp-thumb-inner' style='background-color: red;'></span></span>";

    if ( $("[data-color='red']").length == 0 ) {
       $(newColor).appendTo('.sp-palette-row-0');
    }
});

$('#remove').click( function() {
   $('#colorRed').remove();
});
Другие вопросы по тегам