在javascript中获取选择颜色?

时间:2014-01-06 13:25:46

标签: javascript jquery css dom

我看到了关于设置选择颜色的这个小小的一点:

在JavaScript http://blogs.adobe.com/cantrell/archives/2012/02/setting-text-selection-colors-in-javascript.html

中设置文本选择颜色

由于可以设置颜色,我猜有一些方法可以 GET 。我找不到它。 ; - )

任何人都知道如何获取选择颜色?

5 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

浏览器/操作系统用于按钮,文本选择等的颜色称为'系统颜色'。您正在寻找的是系统颜色"突出显示"和" HighlightText",这些在CSS2和javascript中可用:

element.style.backgroundColor = 'Highlight';
element.style.color = 'HighlightText';

要将它们重置为默认颜色,请将这些属性设置回空字符串'';

您可以在http://www.w3.org/wiki/CSS/Properties/color/keywords获取完整的系统颜色列表。注意:该页面说这是CSS2的一个功能,并且已经弃用了CSS3 UI'[外观]'属性,但如果你阅读http://www.w3.org/TR/css3-ui/#appearance,似乎系统颜色已从UI外观中删除规范,所以离开我们的地方我不知道。

上面提供的代码适用于FireFox 32,Chrome 37,IE 11。

答案 2 :(得分:1)

我真的不知道你是否想要设置或获得选择颜色,因为你在标题&你的文字。

您可以使用CSS在::selection伪元素上设置背景。

/* firefox */
::-moz-selection { background: lightblue; }
/* safari, chrome, opera, IE9+ */
::selection { background: lightblue; }

我知道在JavaScript中设置它的唯一方法是创建CSS规则。

在JavaScript中找不到选择颜色没有简单的方法。 您必须解析CSS规则以找到哪一个设置它和哪个匹配您当前的元素。 如果你真的想这样做,你会受到first-letter伪元素的相同代码的启发:http://jsfiddle.net/tzi/27q8Z/

干杯, 托马斯。

答案 3 :(得分:0)

如果你想要一个JQuery解决方案,如果我猜对了,你应该使用这样的东西:

http://jsfiddle.net/utz9t/2/

$('.color').on('click',this,function(){
    var bgcol = $(this).css('backgroundColor');
    $('#txt').css({'color':''+bgcol+''})
});

答案 4 :(得分:0)

使用来自此问题的jquery和get_random_color函数的mousemove事件 Random color generator in JavaScript

在文本中应用颜色很容易。如果您愿意,可以为整个页面附加活动。

$( "#text" ).mousemove(function(event) {
  var color = get_random_color
  console.log(color);
  $(this).css("color",color);
});

 function get_random_color() {
    var letters = '0123456789ABCDEF'.split('');
    var color = '#';
    for (var i = 0; i < 6; i++ ) {
        color += letters[Math.round(Math.random() * 15)];
    }
    return color;
}

代码笔在这里:http://codepen.io/anon/pen/qzLAC