2013-10-03 26 views
1

我在我的應用程序中使用jQuery Spectrum作爲顏色選擇器(http://bgrins.github.io/spectrum)。我無法弄清楚在插件初始化後如何設置調色板。初始化後更改jQuery光譜調色板?

該如何創建一個調色板,當它第一次初始化:

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

我怎麼會更新調色板的顏色新的選擇,而不破壞並重新初始化?

感謝您的任何幫助。

回答

2

看到沒有人迴應這個,所以我想我試試看。簡單的答案是,一旦它在DOM中,幾乎可以改變任何東西。我在這裏創建了一個簡單的演示來顯示調色板初始化,然後動態添加(和刪除)調色板的顏色。

希望這會有所幫助。

jsfiddle code demo

$("#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(); 
}); 
+0

我從來沒有注意到這個回答接收超過1年後!確實,這有效:) – Andrew