js 操作剪贴板
MDN 官方说明: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard#Using_execCommand()
通过 js 可以操作剪贴板的 复制 剪切 粘贴
还有一个更方便的方法,直接使用第三方 js 库 clipboard.js
主页:https://clipboardjs.com/ Github: https://github.com/zenorocha/clipboard.js 测试例子:https://kylebing.cn/test/clipboard/
用到的方法和元素
DOM元素
<textarea> </textarea>
<input/>
js 方法
// 选中输入框中的所有文本
inputElement.select()
// 选中输入框中的部分文本
inputElement.setSelectionRange(start, end)
// 对选中的文本进行 复制 / 剪切 / 粘贴 操作
document.execCommand('copy/cut/paste')
实现原理
是通过 js
操作 textarea
input
输入框,只能操作输入框,不能操作其它元素。
所有的 复制/剪切/粘贴
都是要在选中输入框中的文本之后,才进行操作的。
具体例子
写个例子展示一下
HTML
<label for="text">测试内容:</label>
<textarea name="text" id="text" cols="30" rows="1">ABCDEFGHIJKLMNOPQRSTUVWXYZ</textarea>
<textarea name="text" id="test" cols="30" rows="2" placeholder=""></textarea>
js
就直接在 console
中进行调试了
用
shift + enter
在 console
中换行输入指令
JS
// 选中文本
var text = document.querySelector('#text');
text.focus();
text.setSelectionRange(3,13);
// 操作文本
document.execCommand('cut')
选中后的样子
执行剪切操作后,再手动粘贴到下面的输入框中
就是这样了。