2013-10-03 3 views
1

J'utilise jQuery Spectrum comme sélecteur de couleur dans mon application (http://bgrins.github.io/spectrum). Je n'arrive pas à comprendre comment régler la palette après l'initialisation du plugin.Modification de la palette de couleurs du spectre jQuery après l'initialisation?

Ce que je crée une palette quand il est d'abord initialisé:

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

Comment pourrais-je mettre à jour la palette à une nouvelle sélection de couleurs sans détruire et re-initialisation?

Merci pour toute aide.

Répondre

2

J'ai vu que personne n'a encore répondu à cette question, alors j'ai pensé que je l'essayerais. La réponse courte est qu'il est possible de changer presque n'importe quoi une fois qu'il est dans le DOM. J'ai créé une démo simple ici pour montrer la palette de couleurs initialisée et ensuite dynamiquement ajouté (et enlevé) une couleur à la palette.

Espérons que cela aide.

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

Je ne remarqué cette réponse afin d'accepter plus de 1 an plus tard! En effet cela fonctionne :) – Andrew

Questions connexes