【发布时间】:2019-11-14 14:19:25
【问题描述】:
我有代码将生成的背景颜色传递给带有变量的<style> 标签中的 CSS,因此我可以将其复制到缓冲区,我需要对文本颜色执行相同的操作。我使用颜色选择器http://jscolor.com/。我试图用不同的名称复制相同的逻辑,但它没有用。我还需要能够将此 CSS 代码复制到具有实际字体颜色的剪贴板。
<script>
function copyToClipboard(element) {
let currentColor = $("#valueInput").val();
let currentStyle = $(element).text();
let newStyle = currentStyle.replace('--placeholder', "#"+currentColor);
var $temp = $("<input>");
$("body").append($temp);
$temp.val(newStyle).select();
document.execCommand("copy");
$temp.remove();
}
function update(jscolor) {
document.getElementById('button_cont').style.color = '#' + jscolor;
}
</script>
<style type="text/css">
#button_cont {
color: #ffffff;
font-size: 18px;
text-decoration: none;
background-color: --placeholder;
padding: 10px;
/* border: 1px solid #ffffff; */
border-radius: 5px 5px 5px 5px;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
display: inline-block;
transition: all 0.4s ease 0s;
}
</style>
<a href="#" id="button_cont" >Call to action</a>
<button class="jscolor{valueElement:'valueInput', styleElement:'button_cont'}" >
Generate color
</button>
<button onclick="copyToClipboard('style')">Copy CSS</button>
我试过了
<script>
function copyToClipboard(element) {
let currentColor = $("#valueInput").val();
let currentStyle = $(element).text();
let newStyle = currentStyle.replace('--placeholder', "#"+currentColor);
let currenttextColor = $("#button_cont").val();
let currenttextStyle = $(element).text();
let newtextStyle = currenttextStyle.replace('--placeholdtext', "#"+currenttextColor);
var $temp = $("<input>");
$("body").append($temp);
$temp.val(newStyle).select();
document.execCommand("copy");
$temp.remove();
var $tempt = $("<input>");
$("body").append($tempt);
$tempt.val(newtextStyle).select();
document.execCommand("copy");
$tempt.remove();
}
</script>
【问题讨论】:
-
告诉我们你尝试了什么。
-
更新了我的尝试
标签: javascript css jscolor