在h3标签内复制文本时,“复制到剪贴板”功能不起作用

时间:2018-07-26 17:57:40

标签: javascript copy clipboard

我正在尝试将文本复制到h3标签内的剪贴板。我在copyText.select()代码行收到以下错误。

未捕获的TypeError:copyText.select不是函数     在HTMLDivElement。

编辑:在输入标签上使用复制到剪贴板功能有效,但在h3标签内部时无效。

HTML

<div class="colorDiv" id="firstColorObject">
    <h3 class="colorCode" id="p1" value="123">#Color 1</h3>
</div>

JavaScript

document.querySelector("#firstColorObject").addEventListener("click", function(){
    var copyText = document.getElementById("p1");

    copyText.select();
    document.execCommand("copy");
    alert("Copied the text: " + copyText.value);

}, false);

3 个答案:

答案 0 :(得分:1)

您可以使用<input>元素调用select,但是不能使用<h3>元素调用

尽管如此,当您在将<input>的内容分配给隐藏字段之前调用#p1时,仍可以利用select

请注意::只有在将实际可见的字段环绕在隐藏的select元素周围(仅使用{{ 1}})。无法从像这样的真正隐藏的输入中复制值(通过<div>opacity:0):

select

希望下面的示例对您有所帮助(要执行该示例,请单击document.execCommand("copy")-Button)

<input type="hidden" id="copyText"/>
"Run Code snippet"

答案 1 :(得分:0)

Clipboard js将对您有帮助

答案 2 :(得分:0)

input.select()功能不适用于productRepository.save(product,tenantId)。通常可以进行选择操作 与window.getSelection().addRange()

尝试

h3