如何使用javascript更改所选文本颜色

时间:2014-10-15 02:56:54

标签: javascript

我在Chrome浏览器中。我有蓝色背景,文字颜色是白色。

问题:

当我选择并复制文字并粘贴在文字中时,由于存在而无法看到文字。

是否有任何javascript可以在选中时更改文本颜色,以便复制的文本不是白色。

发现类似问题:

Javascript: How to detect if a word is highlighted

3 个答案:

答案 0 :(得分:2)

作为JavaScript的替代品,如何使用CSS设置::selection颜色(即背景突出显示的颜色)?

如果您当前的背景为蓝色且默认选择突出显示颜色为蓝色,请尝试将颜色更改为红色:

::selection {      /* WebKit Browsers */
  background: #ffb7b7;
}
::-moz-selection { /* Gecko Browsers */
  background: #ffb7b7;
}

答案 1 :(得分:1)

这里可能存在一些问题,但它适用于Chrome:

document.addEventListener('copy', function() {
    event.preventDefault();
    event.clipboardData.setData("text/plain", document.getSelection().toString());
}, false);

答案 2 :(得分:0)

终于搞定了,

我的解决方案是,

        var x = document.getElementById("elementID");
        function eventCopy() {
            x.style.color = 'black';
            x.addEventListener("mousemove", eventDispatch);
        }
        function eventDispatch() {
            x.style.color = 'white';
            console.log('h');
            x.removeEventListener("mousemove", eventDispatch);
        }
        x.addEventListener("copy",eventCopy);