gpt4 book ai didi

javascript - 如何改变复制文本的颜色

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:59 31 4
gpt4 key购买 nike

我对复制文本没有什么问题。在我的网站上,字体颜色设置为白色:

body {
color: #FFF;
}

例子:

enter image description here

例如,当我复制“程序列表”并将其粘贴到 Word 时,Lync 文本为白色。是否可以在外部程序中添加一些将此颜色更改为黑色的样式/js?我知道 word 是粘贴选项“仅保留文本”,但 Lync 是什么?

@更新

javascript 几乎如我所料。问题出在IE上。有什么想法吗?(在 chrome 45.0.2454.101 上测试过)

 (function (container, defaultColor, copyColor) {
selectedText = window.getSelection();

$(container).keydown(function (e) {
e = e || window.event;
var key = e.which || e.keyCode;
var ctrl = e.ctrlKey ? e.ctrlKey : ((key === 17) ? true : false);

if (key == 67 && ctrl) {
var range = getRange(selectedText);
changeColor(range, selectedText, copyColor);
}
}).keyup(function (e) {
var range = getRange(selectedText);

if (range) {
selectedText.removeAllRanges();
selectedText.addRange(range);
}
changeColor(range, selectedText, defaultColor);
});

function getRange(text) {
if (text.rangeCount && text.getRangeAt) {
return text.getRangeAt(0);
}
return null;
}

function changeColor(range, selectedText, color) {
document.designMode = "on";

if (range) {
selectedText.removeAllRanges();
selectedText.addRange(range);
}
document.execCommand("ForeColor", false, color);
document.designMode = "off";
}
})("body", "white", "black");

最佳答案

这段代码解决了我的问题。

window.onload = function () {
document.addEventListener('copy', function (e) {
selectedText = window.getSelection().toString();
if (window.clipboardData) {
window.clipboardData.setData("Text", selectedText);
} else {
e.clipboardData.setData('text/plain', selectedText);
}

e.preventDefault();
});}

关于javascript - 如何改变复制文本的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41565127/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com