我创建的代码是在没有触摸键盘或右键单击文本的情况下复制文本。虽然我仍然希望在使用正则表达式选择后删除空格或新行。虽然我不确定为什么这不起作用。有什么帮助吗?
的Javascript
<p> Some of the text</p>
<p> <b>Some</b> of the text</p>
<p> <b>Some</b> of the text</p>
<table><tr><td>wew</td></tr></table>
HTML
setTimeout(function () {
console.log('setTimeout1')
Promise.resolve().then(function () {
console.log('promise')
});
})
setTimeout(function () {
console.log('setTimeout2');
});
答案 0 :(得分:0)
根据此document getSelection
,当转换为字符串时,将返回所选文本。
因此需要使用toString()
或附加一对引号来获取所选文本
var t = "";
function gText(e) {
t = document.all ?
document.selection.createRange().text :
document.getSelection().toString();
document.execCommand("copy").value = t.replace(/\s+/g, '');
// for test only
document.getElementById("test").innerHTML = t.replace(/\s+/g, '');
}
document.onmouseup = gText;
if (!document.all) document.captureEvents(Event.MOUSEUP);
&#13;
<p> Some of the text</p>
<p> <b>Some</b> of the text</p>
<p> <b>Some</b> of the text</p>
<table>
<tr>
<td>wew</td>
</tr>
</table>
<!-- test DOM -->
<div id="test"></div>
&#13;