最近遇到一个新的需求,需要选中某标签内容,点击按钮形成笔记上传到后端。
JS获取选中文字可以用window.getSelection()函数
但如果要实现只能从某段文字中复制呢?
那就给这个标签加上一个mouseup事件,在这个事件里去获取选中文字,当点击按钮时上传这段文字。
具体实现代码如下:
async pushToNote() {
if (this.txt == '') {
message.error('请选择正文内容', 1);
return;
}
let params = { text: this.txt };
let res = await postNote(params);
if (res.code == 200) {
message.success('加入成功', 1);
} else {
message.error('加入失败', 1);
}
this.txt = '';
},
mytest(e) {
let txt = window.getSelection ? window.getSelection().toString() : document.selection.createRange().text;
if (txt == '') {
//当选中内容为空时,阻止事件发生
window.event ? (window.event.cancelBubble = true) : e.stopPropagation();
} else {
this.txt = txt;
}
},