2016-09-27 50 views
1

我有一個按鈕,它的作用類似於顏色選擇器的觸發器,它應該更改canvas中文本的顏色。我正在使用的庫是jscolor無法在jQuery中使用jsColor獲取按鈕的顏色

<button class="color-picker-btn jscolor {valueElement:'valueElement', onFineChange:'update(this)', value:'ffffff'}"></button> 
<input id="valueElement"></input> 

JS:

function update(jscolor) { 
     console.log(jscolor); 
     canvas.getActiveObject().fill = (jscolor); 
} 

在控制檯中我得到的是這樣的:

jscolor {value: "ffffff", valueElement: input#valueElement, styleElement: button.color-picker-btn.jscolor.{valueElement:'valueElement',.onFineChange:'update(this)',.value:'ff…, required: true, refine: true…} 
_processParentElementsInDOM:()activeClass:"jscolor-active" 
backgroundColor 
: 
"#FFFFFF" 
borderColor 
: 
"#BBBBBB" 
borderRadius 
: 
8 
borderWidth 
: 
1 
buttonColor 
: 
"#000000" 
buttonHeight 
: 
18 
closable 
: 
false 

..和很多更行。如何獲得只有顏色?

回答

1

你的問題是,這個在這裏,這是按鈕:

<button class="color-picker-btn jscolor {valueElement:'valueElement', onFineChange:'update(this)', value:'ffffff'}"></button> 
<input id="valueElement"></input> 

您可以將輸入的對象,像這樣:

<button class="color-picker-btn jscolor {valueElement:'valueElement', onFineChange:'update(valueElement)', value:'ffffff'}"></button> 
<input id="valueElement"></input> 

,並在你的JavaScript功能,以色從對象 '值':

function update(jscolor) { 
    console.log(jscolor.value); 
    canvas.getActiveObject().fill = (jscolor.value); 
} 

這裏是的jsfiddle的代碼: https://jsfiddle.net/sidanmor/g8odgju6/

+0

偉大的解決方案! –