Javascript 如何将文本复制到剪贴板?

Javascript 如何将文本复制到剪贴板?,javascript,copy,clipboard,Javascript,Copy,Clipboard,如果用户没有定义电子邮件客户端,我需要将我的电子邮件地址复制到剪贴板。 我在网上找到了一个解决方案: html: 它获取值,但不会将其复制到剪贴板。我做错了什么?我想这会对你有所帮助。我在提供的链接中尝试了所有方法,但只有Nadav的简化版有效。尽管如此,我还是很高兴知道我做错了什么。更重要的是,它只适用于点击按钮,这不是我想要实现的,我想它会帮助你。我在提供的链接中尝试了一切,但只有Nadav的简化版本有效。不过,我还是很高兴知道我做错了什么,更重要的是,它只适用于按钮点击,这不是我想要做的

如果用户没有定义电子邮件客户端,我需要将我的电子邮件地址复制到剪贴板。 我在网上找到了一个解决方案:

html:


它获取值,但不会将其复制到剪贴板。我做错了什么?

我想这会对你有所帮助。我在提供的链接中尝试了所有方法,但只有Nadav的简化版有效。尽管如此,我还是很高兴知道我做错了什么。更重要的是,它只适用于点击按钮,这不是我想要实现的,我想它会帮助你。我在提供的链接中尝试了一切,但只有Nadav的简化版本有效。不过,我还是很高兴知道我做错了什么,更重要的是,它只适用于按钮点击,这不是我想要做的
<input type="text" value="someemail@gmail.com" id="myInput" style="display:none";>
  function copyEmail() {

  var copyText = document.getElementById("myInput");

  /* Select the text field */
  copyText.select();
  copyText.setSelectionRange(0, 99999);

  /* Copy the text inside the text field */
  document.execCommand('copy');

  /* Alert the copied text */
  alert("You don't have an email client defined"  + '\n' + "Email address copied: " + copyText.value + ".");
}

  $('a[href^=mailto]').each(function() {
    var href = $(this).attr('href');
    $(this).click(function() {
      var t;
      var self = $(this);

      $(window).blur(function() {
        // The browser apparently responded, so stop the timeout.
        clearTimeout(t);
      });

      t = setTimeout(function() { copyEmail() }, 1);

    });
  });