我正在使用jscolor并注意到它会根据所选颜色自动更改文本颜色。示例:如果我选择黑色背景颜色,它会自动将文本颜色更改为白色。无论如何要禁用此功能?
问问题
2463 次
4 回答
0
朱利安:
从 JSColor 中注释掉以下代码行
this.styleElement = target; // where to reflect current color
它调用一个设置目标输入字段样式的函数。
于 2013-04-08T21:56:06.777 回答
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';
于 2013-08-06T12:01:45.187 回答
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 例如,如果您不希望文本字段在从颜色面板中选择颜色后更新其背景颜色,只需评论“输入”行。
于 2015-11-27T04:17:17.853 回答
0
添加styleElement.style.color = 'transparent';
可以从输入字段中删除文本值,但它不适用于“字体颜色”属性。
相反,我申请了
styleElement.style.color = '#' + this.toString();
从输入字段中删除的文本值和 font-color 属性也有效。
谢谢
于 2015-09-30T10:52:13.247 回答