无法运行document.execCommand('copy);用Java语言编写

时间:2019-03-08 11:57:52

标签: javascript jquery html

我正在尝试从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>元素内复制文本。

1 个答案:

答案 0 :(得分:3)

虽然您的代码似乎没有引发“不是函数”错误,但是您确实还有另一个问题。

您的问题似乎出在=== "successful"上。这将永远不会是true。相反,document.execCommand('copy');返回一个布尔值(truefalse),因此result等于truefalse

$("#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>