在JSColor中,我如何获得颜色的hex?
使用JSColor,在用户选择颜色后,如何获得“hex”?
$("input#colorpicker").css('background-color') => this returns background-color: rgb(107, 132, 255);
但不是hex。
我假设jQuery.css返回已设置的值。 尝试以下函数将RGB转换为HEX:
function colorToHex(color) { if (color.substr(0, 1) === '#') { return color; } var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color); var red = parseInt(digits[2]); var green = parseInt(digits[3]); var blue = parseInt(digits[4]); var rgb = blue | (green << 8) | (red << 16); return digits[1] + '#' + rgb.toString(16); }; colorToHex('rgb(120, 120, 240)')
实际上,这取决于它以rgb或hex返回的浏览器,无论如何检查这个线程有很好的讨论,并且还有很多解决方案。
背景颜色hex到JavaScript变量
和
如何获得hex颜色值而不是RGB值?
和
我可以强制jQuery.css(“backgroundColor”)以hex格式返回吗?
和
jquery css颜色值返回RGB?
有onchange活动可用:
$("input#colorpicker").change(function() { console.log(this.color); });