获取点击文字的字体颜色?

时间:2017-05-08 19:07:20

标签: javascript jquery

以下示例将在您双击以选中它时获得单词“Here”的颜色。只需在其中单击即可获得颜色。我还需要一种方法来获得没有<font color=""></font>标签的文本颜色,rgb值可能吗?基本上,当您单击字符串上的任意位置时,我需要获取您单击的单词的字体颜色。如何实现这一目标?

https://jsfiddle.net/7ng9j49t/

HTML:

<div contentEditable="true"><font color="gold">Here</font> is some text.</div>

JS:

$('div').mousedown(function() {
  var selected = window.getSelection().focusNode.parentNode;
  var color = $(selected).attr('color');
  console.log(color);
});

更新: 使用带有css('color')的event.target可以正常工作: https://jsfiddle.net/fof2u7L9/

$('div').mousedown(function(event) {
    var clicked = event.target;
    var color = $(clicked).css('color');
    console.log(color);
});

2 个答案:

答案 0 :(得分:1)

使用event.target

$('div').mousedown(function(evt) {
    var clicked = evt.target;
    var color = $(clicked).attr('color');
    console.log(color);
});

答案 1 :(得分:1)

  • <font>代码已弃用。
  • 要获得绝对颜色,请使用window.getComputedStyle()

代码:

var selected = /* get selected element */;
var color = window.getComputedStyle(selected).getPropertyValue("color");