Javascript - 插入不包含框的复制文本
Javascript - insert copied text without containing box
我目前正在学习 Javascript 并面临以下问题。我想复制只读 html textarea 的文本并使用以下代码:
function copy_text ()
{
var text = document.getElementById("textbox");
var range = document.createRange();
range.selectNode(text);
window.getSelection().addRange(range);
document.execCommand("copy");
}
实际上它是有效的,但有一个小怪癖。如果我将复制的文本插入到另一个输入字段,例如像网络浏览器的输入行,那么文本看起来就像文本一样完美。但是,如果我将文本粘贴到 Microsoft Word 中,文本将出现在一个包含两张幻灯片的框中,一张在底部,一张在左侧。这是怎么回事?
您正在选择整个节点,这是一个 textarea
,所以这就是被复制到剪贴板的内容。然后 Word 将 textarea
粘贴到文档中。
如果您只想要 textarea
的文本,只需使用它的 select
方法:
function copy_text() {
var text = document.getElementById("textbox");
text.select();
document.execCommand("copy");
}
document.getElementById("btn").addEventListener("click", copy_text, false);
<textarea id="textbox" readonly>Some example text</textarea>
<br><input type="button" id="btn" value="Copy">
select
选择文本区域的 内容 ,而不是文本区域本身。
我目前正在学习 Javascript 并面临以下问题。我想复制只读 html textarea 的文本并使用以下代码:
function copy_text ()
{
var text = document.getElementById("textbox");
var range = document.createRange();
range.selectNode(text);
window.getSelection().addRange(range);
document.execCommand("copy");
}
实际上它是有效的,但有一个小怪癖。如果我将复制的文本插入到另一个输入字段,例如像网络浏览器的输入行,那么文本看起来就像文本一样完美。但是,如果我将文本粘贴到 Microsoft Word 中,文本将出现在一个包含两张幻灯片的框中,一张在底部,一张在左侧。这是怎么回事?
您正在选择整个节点,这是一个 textarea
,所以这就是被复制到剪贴板的内容。然后 Word 将 textarea
粘贴到文档中。
如果您只想要 textarea
的文本,只需使用它的 select
方法:
function copy_text() {
var text = document.getElementById("textbox");
text.select();
document.execCommand("copy");
}
document.getElementById("btn").addEventListener("click", copy_text, false);
<textarea id="textbox" readonly>Some example text</textarea>
<br><input type="button" id="btn" value="Copy">
select
选择文本区域的 内容 ,而不是文本区域本身。