我正在尝试从html <textarea>
元素中选择和复制文本,但是使用document.execCommand('copy');
会显示一条错误消息,指出该.execCommand('copy') is not a function.
。在运行复制命令之前,我也曾说过myTextElement.select();
。 (而且我也在使用jQuery)。
如您所知,我有一个带有<textarea>
标签的id="txtMyTextElement"
元素。我也有一个锚元素,其中包含一个click事件,该事件运行如下函数:
$('#txtMyTextElement').select();
let result = document.execCommand('copy');
if (result === 'successful') {
alert('Text copied!');
}
else {
alert('Copy Failed!');
}
当我单击锚元素时,它给我错误:.execCommand('copy') is not a function
。我可能会丢失一些内容,但是对解决此问题的任何帮助,因此我可以在<textarea>
元素内复制文本。
答案 0 :(得分:3)
虽然您的代码似乎没有引发“不是函数”错误,但是您确实还有另一个问题。
您的问题似乎出在=== "successful"
上。这将永远不会是true
。相反,document.execCommand('copy');
返回一个布尔值(true
或false
),因此result
等于true
或false
:
$("#btn").click(function() {
$('#txtMyTextElement').select();
let result = document.execCommand('copy');
if(result) { // check if result == true
alert('Text copied!');
} else {
alert('Copy Failed!');
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="txtMyTextElement" />
<button id="btn">Copy Text</button>