我听说你不能在不使用Flash的情况下复制文本(在浏览器中);那么,有没有办法通过使用锚点和JavaScript或jQuery来选择文本。
<p>Text to be copied</p>
<a>Copy Text Above</a>
答案 0 :(得分:18)
在较新的浏览器上,您可以执行此操作来选择和复制。这是一个纯粹的Javascript解决方案。
function copy_text(element) {
//Before we copy, we are going to select the text.
var text = document.getElementById(element);
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
//add to clipboard.
document.execCommand('copy');
}
答案 1 :(得分:3)
给出以下示例html:
<div class="announcementInfoText">
<p class="copyToClipboard">
<a id="selectAll">Select All Text</a>
</p>
<textarea ID="description" class="announcementTextArea">This is some sample text that I want to be select to copy to the clipboard</textarea>
</div>
您可以使用以下jQuery选择textarea中的文本:
$("#selectAll").click(function () {
$(this).parents(".announcementInfoText").children("textarea").select();
});
现在选择了文本“这是我想要选择复制到剪贴板的一些示例文本”,您只需按Ctrl + C并将文本复制到剪贴板
答案 2 :(得分:3)
没有运行基于闪存的插件的最简单的解决方案将是:
$('a').click(function() {
window.prompt('Press ctrl/cmd+c to copy text', $(this).prev('p').text());
});
答案 3 :(得分:1)
我找到了这个jQuery解决方案:
$(function() {
$('input').click(function() {
$(this).focus();
$(this).select();
document.execCommand('copy');
$(this).after("Copied to clipboard");
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" value="copy me!" />
&#13;