如何从ID为的元素发送文本到oncklick函数?

时间:2019-02-07 15:09:29

标签: javascript html function onclick copy

我希望当我按下按钮时它将复制“你好” 但我得到这个错误: copyText.select不是函数

如何解决?

<html>
<head>
</head>
<body>
    <span id="aaa">hello</span>
    <button onclick="copy('#aaa')">copy</button>
    <script>
        function copy(text)
        {
            var copyText = text;
            copyText.select();
            document.execCommand("copy");
            console.log(document.getElementById('text'));
        }
    </script>
</body>

1 个答案:

答案 0 :(得分:1)

无法使用选择功能选择跨度文本。您必须使用跨度文本的值创建一个临时输入。使用select()在输入中选择值,然后复制文本,然后删除输入

        function copy(text)
        {
            var copyText = document.getElementById(text).textContent;
            document.querySelector('#aux').innerHTML+=('<input id="a" value='+copyText+'>')
            document.getElementById("a").select();
            document.execCommand("copy");
            document.querySelector('#aux').innerHTML="";
            //console.log(document.getElementById('text'));
        }
   
<html>
<head>
</head>
<body>
    <span id="aaa">hello</span>
    <button onclick="copy('aaa')">copy</button>
   <span id="aux"></span>
</body>
</html>