JavaScript实现复制功能

代码实现

html5的webAPI接口可以很轻松的使用短短的几行代码就实现复制功能,不需要依赖flash。
function copy() {
  const range = document.createRange();

  range.selectNode(element); // 设定range包含的节点对象

  // 窗口的selection对象,表示用户选择的文本
  const selection = window.getSelection();

  // 将已经包含的已选择的对象清除掉
  if (selection.rangeCount > 0) {
    selection.removeAllRanges();
  }

  // 将要复制的区域的range对象添加到selection对象中
  selection.addRange(range);
  document.execCommand('copy');
}
当element为表单控件时,代码可以简化成:
function copy() {
  document.getElementById('textarea').select();
  document.execCommand('copy');
}

代码演示

复制这句话,然后粘贴到文本框中。苟利国家生死以,岂因祸福避趋之。 --林则徐