如何在没有插件等的情况下将数据从 select 复制到剪贴板?
How to copy data from select to clipboard without plugins, etc.?
所以,问题是:
是否可以在没有额外插件的情况下从 select
元素复制数据(jQuery 可以,但没有别的),就像那里:
主要问题在这里:
var copyTextarea = document.querySelector('.js-copytextarea');
copyTextarea.select();
如果我们使用 textarea
- 一切都很好,但对于 select
它不适用。我无法 select select
元素中的数据。
有什么想法吗,伙计们?
用例:我想为 select
元素的 onchange
事件设置一个带有值列表的函数,复制这些值,然后粘贴到 textarea
或其他元素中,没关系
检查这个:这个函数创建一个时间textarea
来执行剪贴板复制。
function copyToClipboard(text) {
var textarea = $('<textarea />');
textarea.val(text).css({
width: '0px',
height: '0px',
border: 'none',
visibility: 'none'
}).appendTo('body');
textarea.focus().select();
try {
if (document.execCommand('copy')) {
textarea.remove();
return true;
}
} catch (e) {
console.log(e);
}
textarea.remove();
return false;
}
$("select").on("change", function(){
if(!copyToClipboard($(this).val()))
console.log("Copy failed"); //Do something
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select>
<option>Select</option>
<option value="Copy me!">Copy me!</option>
</select>
检查 document.execCommand('copy') 浏览器支持。
所以,问题是:
是否可以在没有额外插件的情况下从 select
元素复制数据(jQuery 可以,但没有别的),就像那里:
主要问题在这里:
var copyTextarea = document.querySelector('.js-copytextarea');
copyTextarea.select();
如果我们使用 textarea
- 一切都很好,但对于 select
它不适用。我无法 select select
元素中的数据。
有什么想法吗,伙计们?
用例:我想为 select
元素的 onchange
事件设置一个带有值列表的函数,复制这些值,然后粘贴到 textarea
或其他元素中,没关系
检查这个:这个函数创建一个时间textarea
来执行剪贴板复制。
function copyToClipboard(text) {
var textarea = $('<textarea />');
textarea.val(text).css({
width: '0px',
height: '0px',
border: 'none',
visibility: 'none'
}).appendTo('body');
textarea.focus().select();
try {
if (document.execCommand('copy')) {
textarea.remove();
return true;
}
} catch (e) {
console.log(e);
}
textarea.remove();
return false;
}
$("select").on("change", function(){
if(!copyToClipboard($(this).val()))
console.log("Copy failed"); //Do something
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select>
<option>Select</option>
<option value="Copy me!">Copy me!</option>
</select>
检查 document.execCommand('copy') 浏览器支持。