我有一个按钮,其作用类似于颜色选择器的触发器,它应该更改画布中文本的颜色。我使用的图书馆是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
..还有很多行。如何只获得颜色?
答案 0 :(得分: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函数中,从对象'value'中获取颜色:
function update(jscolor) {
console.log(jscolor.value);
canvas.getActiveObject().fill = ( jscolor.value );
}
以下是jsfiddle中的代码: https://jsfiddle.net/sidanmor/g8odgju6/