以下示例将在您双击以选中它时获得单词“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);
});
答案 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");