javascript - 使用 jQuery/JavaScript 复制到剪贴板文本框值

标签 javascript jquery input copy clipboard

我有一个如下所示的文本框和按钮:

     <div class="col-xs-11" style="padding:20px 0 ">
     <input type="text" class="form-control txtKeywords" id="txtKeyw" style="margin-bottom:10px; height:45px;" maxlength="80" placeholder="Click on keywords to combine your title">
   <button type="submit" class="btn btn-space btn-success btn-shade4 btn-lg copyToClipboard">
    <i class="icon icon-left s7-mouse"></i> Copy to Clipboard
     /button>

当用户点击按钮复制到剪贴板时,我想将文本框的内容复制到剪贴板中,如下所示:

$(document).on("click", ".copyToClipboard", function () {
    copyToClipboard("txtKeyw");
    successMessage();
});

copyToClipboard 函数的定义是:

 function copyToClipboard(element) {
            var $temp = $("<input>");
            $("body").append($temp);
            $temp.val($(element).text()).select();
            document.execCommand("copy");
            $temp.remove();
        }

但是当我这样做时,没有任何反应——没有值从文本框中复制到剪贴板...我在这里做错了什么?

更多信息:

  • 这在 Chrome 59 64 位和 Firefox 54 32 位中都会发生。
  • successMessage() 被调用并显示在浏览器中。
  • 在元素 ID 前添加 # 无法解决问题。

最佳答案

第 1 步:像这样更改您的 copyToClipboard(element):

function copyToClipboard(text) {

   var textArea = document.createElement( "textarea" );
   textArea.value = text;
   document.body.appendChild( textArea );       
   textArea.select();

   try {
      var successful = document.execCommand( 'copy' );
      var msg = successful ? 'successful' : 'unsuccessful';
      console.log('Copying text command was ' + msg);
   } catch (err) {
      console.log('Oops, unable to copy',err);
   }    
   document.body.removeChild( textArea );
}

第 2 步:为您的按钮指定一个 id,然后像这样为其添加一个事件监听器:

$( '#btnCopyToClipboard' ).click( function()
 {
     var clipboardText = "";
     clipboardText = $( '#txtKeyw' ).val(); 
     copyToClipboard( clipboardText );
     alert( "Copied to Clipboard" );
 });

关于javascript - 使用 jQuery/JavaScript 复制到剪贴板文本框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888884/

相关文章:

jquery - slider 中的图像无法正常工作

php - 从具有公共(public)变量的多个表中选择不同的列

html - 在输入插件 Bootstrap 中放置一个复选框

java - 我应该在主类或其他地方解析输入参数吗?

javascript - Emberjs-1.0 将 Controller 实例传递给 ember 组件

javascript - 分配给用作事件处理程序的变量不是 react 性的 :

PHP 进程完成后,Javascript 重定向不会立即生效

android - 出现键盘时滚动布局

javascript - 如何判断用户是否真的在看网页?

javascript - 如何保存 SlickGrid 列顺序(js)?