我正在使用jscolor并注意到它会根据所选颜色自动更改文字颜色。示例:如果我选择黑色背景颜色,它会自动将文本颜色更改为白色。无论如何要禁用此功能吗?
答案 0 :(得分:0)
儒略:
注释掉JSColor
中的以下代码行this.styleElement = target; // where to reflect current color
调用一个设置目标输入字段样式的函数。
答案 1 :(得分:0)
试着找到这个:
this.exportColor = function(flags) {
if(!(flags & leaveValue) && valueElement) {
var value = this.toString();
if(this.caps) { value = value.toUpperCase(); }
if(this.hash) { value = '#'+value; }
valueElement.value = value;
}
if(!(flags & leaveStyle) && styleElement) {
styleElement.style.backgroundImage = "none";
styleElement.style.backgroundColor =
'#'+this.toString();
styleElement.style.color =
0.213 * this.rgb[0] +
0.715 * this.rgb[1] +
0.072 * this.rgb[2]
< 0.5 ? '#FFF' : '#000';
}
if(!(flags & leavePad) && isPickerOwner()) {
redrawPad();
}
if(!(flags & leaveSld) && isPickerOwner()) {
redrawSld();
}
};
编辑以下行:
styleElement.style.color =
0.213 * this.rgb[0] +
0.715 * this.rgb[1] +
0.072 * this.rgb[2]
< 0.5 ? '#FFF' : '#000';
可能
styleElement.style.color =
0.213 * this.rgb[0] +
0.715 * this.rgb[1] +
0.072 * this.rgb[2]
< 0.5 ? '#000' : '#000';
如果你想让它更整洁
styleElement.style.color = '#000';
这可以完全隐藏文本
styleElement.style.color = 'transparent';
答案 2 :(得分:0)
添加styleElement.style.color = 'transparent';
可以从输入字段中删除文本值,但它不适用于“font-color”属性。
相反,我申请了
styleElement.style.color = '#' + this.toString();
此输入字段和font-color属性中删除的文本值也正常工作。
由于
答案 3 :(得分:0)
在源文件中找到以下代码:
if (this.valueElement) {
if (jsc.isElementType(this.valueElement, 'input')) {
var updateField = function () {
THIS.fromString(THIS.valueElement.value, jsc.leaveValue);
jsc.dispatchFineChange(THIS);
};
jsc.attachEvent(this.valueElement, 'keyup', updateField);
jsc.attachEvent(this.valueElement, 'input', updateField);
jsc.attachEvent(this.valueElement, 'blur', blurValue);
this.valueElement.setAttribute('autocomplete', 'off');
}
}
只是评论那些attachEvent 例如,如果您不希望文本字段在从颜色面板中选择颜色后更新其背景颜色,则只需注释“输入”行。