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');
}
代码演示
复制这句话,然后粘贴到文本框中。苟利国家生死以,岂因祸福避趋之。 --林则徐