var Util = {
//获取选中的文本
getSelectedText: function() {
if (document.selection) {
return document.selection.createRange().text;
} else if (window.getSelection) {
return window.getSelection().toString();
}
},
//选中元素中的文本
select: function(element) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(element);
range.select();
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(element);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
}
},
//复制文本到剪贴板
copy: function(value) {
var element = document.createElement('SPAN');
element.textContent = value;
document.body.appendChild(element);
this.select(element);
if (document.execCommand) {
document.execCommand('copy');
} else {
window.clipboardData.setData('text', value);
}
element.remove ? element.remove() : element.removeNode(true);
}
}
需要注意的是,copy操作必须用户手动触发某个点击事件或者触摸事件才能复制成功,也就是说必须在点击或者触摸的回调事件内执行copy操作,类似 IOS 中音频播放的触发。