我在此处使用此代码段https://stackoverflow.com/a/24631278/1447613
$(document).on('copy', function(e) {
var seltxt = window.getSelection();
var copyFooter = '<br /><br />Read more: ' + document.location.href + '<br />';
var copyHolder = $('<div>', { html: seltxt+copyFooter, style:{ position: 'absolute', left: '-99999px' } });
$('body').append(copyHolder);
seltxt.selectAllChildren( copyHolder[0] );
window.setTimeout(function(){copyHolder.remove();},0);
});
在复制操作的选择中附加附加文本是做什么的,但它缺少两个主要特征:
即使我们从textarea或输入字段中选择它也会复制,在我的情况下,它根本没用。
它会在复制后删除突出显示的文本,这不是浏览器的默认行为,因此在初次使用时可能会令人烦恼。
对于第一个问题,我没有深入研究,因为我不知道如何避免textareas或输入框上的函数行为。幸运的是,有人可以指出我正确的方向。
关于第二个问题,我试图在最后加上这个:
seltxt.select();
也尝试过:
seltxt.focus().select();
两者都没有成功。有什么想法吗?
答案 0 :(得分:0)
这应该有效:
$(document).on('copy', function(e) {
var ignore = "input, textarea"
var seltxt = window.getSelection();
if ($(e.target).is(ignore)) {
return;
}
$("<div />", {
html: seltxt + "<br /><br />Read more: " + document.location.href + "<br />",
appendTo: "body",
style: {
position: "absolute",
left: "-99999px"
}
});
});