我有以下代码,可以通过单击按钮将文本复制到剪贴板。文本在段落元素中,所以我将该文本移动到一个隐藏的输入字段,然后将其复制到剪贴板。但是,如果我将文本移动到隐藏字段而非文本字段,则仅适用于前者的情况。我还尝试将输入字段设置为
display:none
,但结果相同。(我不能将其设置为visibility:hidden
,因为空间很重要)。如何解决这个问题?
$("button").on("click", function() {
var n = $("p").text();
n = $.trim(n);
$(".copied").attr("value", n).select();
document.execCommand("copy");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
This is the copied text!
</p>
<input type="hidden" class="copied"/>
<button>
COPY
</button>
<input type="text" placeholder="paste copied text here"/>
这里是可编辑的jsfiddle:
opacity: 0; position: absolute; z-index: -1
一起工作。 - user5734311pointer-events: none
。或者使用position: fixed; top: -100px
或其他方式,将其完全移出屏幕。 - user5734311