javascript文本区域处理中的复制剪切粘贴函数

javascript文本区域处理中的复制剪切粘贴函数,javascript,Javascript,我试图在以下位置编写这些函数: HTML: <textarea id="text_element" style="width:100%;height:200px" >Copy this ss!</textarea> <br> <button onclick="copyToClipboard('text_element')"> Copy to clipboard </button> <button onclick="cut

我试图在以下位置编写这些函数:

HTML:

<textarea id="text_element" style="width:100%;height:200px" >Copy this ss!</textarea>
<br>
<button onclick="copyToClipboard('text_element')">
    Copy to clipboard
</button>
<button onclick="cutToClipboard('text_element')">
    cut to clipboard
</button>
<button onclick="pastefromclipboard('text_element')">
    paste
</button>
复制这个ss!

复制到剪贴板 剪切到剪贴板 粘贴
Javascript:

function copyToClipboard(elementId) {


  // Create an auxiliary hidden input
     var Tselected = getSel();  // Execute the copy command


  var aux = document.createElement("input");
  aux.setAttribute("type","text");
  aux.setAttribute("value",Tselected);
  aux.setAttribute("id","Tselected");
  document.body.appendChild(aux);



  // Highlight the content
  aux.select();

   document.execCommand("copy");



}


function cutToClipboard(elementId) {

     var Tselected = getSel(); //get selected text
  // Create an auxiliary hidden input

  var aux = document.createElement("input");
  aux.setAttribute("type","text");
  aux.setAttribute("value",Tselected);
  aux.setAttribute("id","Tselected");
  document.body.appendChild(aux);



  // Highlight the content
  aux.select();


     var myInput = document.getElementById("text_element");
var myInputVal = myInput.value;
    var newvalue =      myInputVal.replace(Tselected, "");
    myInput.value = newvalue;

   //
   document.execCommand("copy");



}


function pastefromclipboard(){
    var Tselected = document.getElementById("Tselected");
    var TselectedVal = Tselected.value;

      var myInput = document.getElementById("text_element");
   document.execCommand("paste");

   myInput.value += TselectedVal;
     document.body.removeChild(Tselected);
document.getElementById("my-element").remove();


}

function getSel() // javascript
{
    // obtain the object reference for the <textarea>
    var txtarea = document.getElementById("text_element");
    // obtain the index of the first selected character
    var start = txtarea.selectionStart;
    // obtain the index of the last selected character
    var finish = txtarea.selectionEnd;
    // obtain the selected text
    var sel = txtarea.value.substring(start, finish);
    // do something with the selected content


    return sel;

}
函数copyToClipboard(elementId){
//创建一个辅助隐藏输入
var Tselected=getSel();//执行copy命令
var aux=document.createElement(“输入”);
辅助设置属性(“类型”、“文本”);
辅助设置属性(“值”,t选定);
辅助设置属性(“id”、“t选定”);
文件.正文.附件(aux);
//突出显示内容
辅助选择();
文件。执行命令(“副本”);
}
功能板(elementId){
var Tselected=getSel();//获取所选文本
//创建一个辅助隐藏输入
var aux=document.createElement(“输入”);
辅助设置属性(“类型”、“文本”);
辅助设置属性(“值”,t选定);
辅助设置属性(“id”、“t选定”);
文件.正文.附件(aux);
//突出显示内容
辅助选择();
var myInput=document.getElementById(“text_元素”);
var myInputVal=myInput.value;
var newvalue=myInputVal.replace(t选择“”);
myInput.value=新值;
//
文件。执行命令(“副本”);
}
函数pastefromclipboard(){
var Tselected=document.getElementById(“Tselected”);
var TselectedVal=Tselected.value;
var myInput=document.getElementById(“text_元素”);
document.execCommand(“粘贴”);
myInput.value+=t选定值;
document.body.removeChild(t选定);
document.getElementById(“我的元素”).remove();
}
函数getSel()//javascript
{
//获取对象的对象引用
var txtarea=document.getElementById(“text_元素”);
//获取第一个选定字符的索引
var start=txtarea.selectionStart;
//获取最后选定字符的索引
var finish=txtarea.selectionEnd;
//获取所选文本
var sel=txtarea.value.substring(开始、结束);
//对所选内容执行某些操作
返回sel;
}
但我只能在textarea的末尾复制和粘贴文本,但我需要将其粘贴到用户单击textarea的位置


更新代码

通过将粘贴功能更改为:

function pastefromclipboard() {
  var Tselected = document.getElementById("Tselected");
  var TselectedVal = Tselected.value;

  var myInput = document.getElementById("text_element");
  document.execCommand("paste");



  if (myInput.setRangeText) {
    //if setRangeText function is supported by current browser
    myInput.setRangeText(TselectedVal)
  } else {
    myInput.focus()
    myInput.execCommand('insertText', false /*no UI*/ , TselectedVal);
  }




  document.body.removeChild(Tselected);
  document.getElementById("my-element").remove();


}

你的整个粘贴功能都不起作用,我已经全部修复了,但我需要将它粘贴到用户在texrtarea内单击的位置