我正在尝试使用以下代码在单击时选择元素的文本:
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
尽管文本突出显示,但使用Ctrl + C时会将空字符串复制到剪贴板。检查selection.toString()也会返回空字符串。知道为什么会这样吗?
最佳答案
嗯,我看了看您的代码并尝试:
var selection = window.getSelection();
var selectionText = selection.anchorNode.textContent
然后我得到了选定的文本内容。
编辑:看来这包裹在单击功能中...一秒钟。
$('<your selector goes here>').click(function(e) {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(e.target);
selection.removeAllRanges();
selection.addRange(range);
console.dir(selection.anchorNode.textContent);
//text content should display...
//now that the content is highlighted, you can copy it
document.execCommand('copy');
})
关于javascript - selection.toString()返回空字符串,尽管选定范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42167692/