2016-06-24 1 views
0

Salut je m `l'aide de http://jscolor.com/ sélecteur de couleur jscolor j'ai besoin de créer de nouvelles entrées dynamiquement, par exemple à partir du sitebibliothèque jscolor définie onchange fonction de nouvelles entrées

function add() { 
    for(var i = 0; i < 100; i++) { 
     var input = document.createElement('INPUT') 
     var picker = new jscolor(input) 
     picker.fromHSV(360/100 * i, 100, 100) 
    document.getElementById('container').appendChild(input) 
    } 
} 

la question est de savoir comment régler onchange fonction correcte et make jscolor pour passer son objet avec les informations de couleur. Maintenant, je peux le mettre que pour les éléments statiques comme dans exemple

<input class="jscolor" onchange="update(this.jscolor)" value="cc66ff"> 
<p id="rect" style="border:1px solid gray; width:161px; height:100px;"> 
<script> 
function update(jscolor) { 
// 'jscolor' instance can be used as a string 
document.getElementById('rect').style.backgroundColor = '#' + jscolor 
} 
</script> 

Voici mon code ne fonctionne pas

var input = document.createElement('INPUT'); 
input.setAttribute("class", "jscolor"); 
input.setAttribute("onchange", "getColor(this)"); 
var picker = new jscolor(input); 
... //And then I add this input to parent and picker shows 

mais onchange ne se déclenche pas.

+0

essayez-vous de changer la valeur textfield et mettre à jour la couleur textfield ... ou la boîte textarea en dessous? –

+0

J'ai besoin que jscolor transmette ses données de couleur pour fonctionner. –

Répondre

0

Je cherchais la même chose et le faire wokr en utilisant le code suivant. J'espère que cela t'aides!

var input = document.createElement('INPUT'); 
 
var picker = new jscolor(input, { 
 
    value: "00ff00" 
 
}); 
 

 
input.addEventListener('change', function(e){ 
 
    var color = e.target.value; 
 

 
    console.log(color); 
 
});