TypeError: copyText.select is not a function
时间: 2024-03-12 10:45:08 浏览: 21
这个错误通常发生在使用 `copyText.select()` 方法时,`copyText` 不是一个 DOM 元素,而是一个字符串或者其他类型的变量。因为 `select()` 方法只适用于 HTML 元素对象。
如果你想复制文本,可以使用 `document.execCommand('copy')` 方法将文本内容复制到剪贴板中,而无需使用 `select()` 方法。
以下是一个纯 JavaScript 实现点击按钮复制文本的代码示例:
```html
<button id="copy-btn" data-copy-text="要复制的文本内容">复制</button>
<script>
const copyBtn = document.querySelector('#copy-btn');
const copyText = copyBtn.getAttribute('data-copy-text');
copyBtn.addEventListener('click', () => {
const tempTextarea = document.createElement('textarea');
tempTextarea.value = copyText;
document.body.appendChild(tempTextarea);
tempTextarea.select();
document.execCommand('copy');
document.body.removeChild(tempTextarea);
alert('已复制到剪贴板!');
});
</script>
```
在这个示例中,我们使用 `document.createElement('textarea')` 方法创建了一个 `<textarea>` 元素,并将要复制的文本内容设置为其 `value` 属性的值。然后将该元素插入到页面中,并选中该元素的内容,使用 `document.execCommand('copy')` 将其复制到剪贴板中。最后,再将该元素从页面中移除,完成复制操作。