TinyColor isValid()不起作用

时间:2015-12-08 03:46:45

标签: javascript jquery

我在我的项目中实施了TinyColor。我使用rgb属性&无效值创建了一个对象:

if-statement

然后我创建了一个if (tinycolor(value).isValid()) { console.log("Good :)"); } else { console.log("Wrong!!!"); } 来检查它是否是有效的颜色:

value = 'rgb (abc, something, hello)';

无论我给予什么价值观,我总能得到“好”:'登录。然后我尝试使用字符串;

value = {
  r: 'abc',
  g: 'something',
  b: 'hello'
};

//value = 'rgb (abc, something, hello)';

if (tinycolor(value).isValid()) {
  console.log("Good :)");
} else {
  console.log("Wrong!!!");
}

这给了我正确的输出。如果它是无效的颜色,我会发现错误!!!&#39;如果它是有效的颜色,我会得到“好的:”&#39;。< / p>

使用属性时如何检查无效颜色?

isValid() documentation

JSFiddle没有加载文件,所以我不得不复制/粘贴它。

JSFiddle

代码段也没有加载文件。不知道为什么。

&#13;
&#13;
<script src="https://raw.githubusercontent.com/bgrins/TinyColor/master/tinycolor.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
numRegex.exec
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

tinyColor rgb对象转换将具有三个属性r,b和g的任何对象视为有效输入。这是相关的代码 -

if (typeof color == "object") {
    if (color.hasOwnProperty("r") && color.hasOwnProperty("g") && color.hasOwnProperty("b")) {
        rgb = rgbToRgb(color.r, color.g, color.b);
        ok = true;
        format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
    }

查看属性检查然后ok = true?那肯定最终是isValid的回归。