使用jsColor无法在jQuery中获得按钮的颜色

时间:2016-09-27 19:36:14

标签: javascript jquery jscolor

我有一个按钮,其作用类似于颜色选择器的触发器,它应该更改画布中文本的颜色。我使用的图书馆是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 个答案:

答案 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/