javascript – 如何在没有插件等的情况下将数据从select复制到剪贴板?
作者:互联网
所以,问题是:
是否可以从select元素复制数据而无需额外的插件(jQuery没问题,但没有别的),就像那样:
https://stackoverflow.com/a/30810322/5490451
主要问题在于:
var copyTextarea = document.querySelector('.js-copytextarea');
copyTextarea.select();
如果我们使用textarea – 一切都很好,但对于选择它不适用.我无法选择select元素中的数据.
伙计们,有什么想法?
使用案例:我想在onchange事件上为select元素设置一个带有值列表的函数,复制这些值,并粘贴到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’)浏览器支持.
标签:javascript,select,clipboard,copy-paste,drop-down-menu 来源: https://codeday.me/bug/20190702/1355972.html