javascript - 复制到所选选项的剪贴板值

标签 javascript jquery html

我想使用 jQuery 或 JavaScript 将 select 列表中所选选项的值复制到剪贴板。

我的 html:

<select id="choose-color">
    <option value="red">RED</option>
    <option value="green">GREEN</option>
    <option value="yellow">YELLOW</option>
    <option value="black">BLACK</option>
</select>

当用户选择任何选项时,该值应该被复制到剪贴板。我尝试使用 clipboard.js 插件,但它似乎不适用于选择列表。

最佳答案

您需要输入 来复制到剪贴板。我在更改事件上创建了一个 input 并在将值复制到剪贴板后将其删除。

基本上你需要两个函数来复制到剪贴板。即select()execCommand() . select()方法用于选择文本字段的内容。和 execCommand()方法为可编辑部分的选定部分执行指定的命令。

这是一个工作示例。

$('#choose-color').on('change', function(){
  var value= `<input value="${$(this).val()}" id="selVal" />`;
  $(value).insertAfter('#choose-color');
  $("#selVal").select();
  document.execCommand("Copy");
  $('body').find("#selVal").remove();
});
black
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="choose-color">
    <option value="red">RED</option>
    <option value="green">GREEN</option>
    <option value="yellow">YELLOW</option>
    <option value="black">BLACK</option>
</select>

关于javascript - 复制到所选选项的剪贴板值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50941892/

相关文章:

javascript - webpack 生产设置 - vendor 输出 js 总是有不同的 block 哈希,即使没有任何改变

Javascript自动计算

javascript - 使用 jQuery 突出显示(选择)文本框中的所有文本

javascript - 在动态生成的表之后从 jQuery 插入一个跨度

jquery - ul-element 是我浏览器大小的 5 倍?

javascript - 更改 Jquery .filter() 函数内的变量值

IE7 上的 jQuery #id.classname 选择器

jquery - fancybox 内容出现在我的页面底部

javascript - 我怎样才能把这个 SVG ‘Sidebar Menu’ 放在右边?

javascript - html 表格到 javascript 中的 excel 工作表