javascript - Clipboard.js 在 Bootstrap 模态中不工作

标签 javascript jquery twitter-bootstrap clipboard.js

我正在尝试使用 Clipboard.js 复制输入值:https://clipboardjs.com/ .输入位于模式中:

http://codepen.io/Deka87/pen/eBJOKY

new Clipboard('#copy', {
    text: function(trigger) {
        return $("#copy-input").val();
    }
});

虽然它在模式之外工作,但当输入和复制按钮位于模式窗口中时它无法工作。我试图在模态窗口打开后初始化剪贴板功能:

$(".modal").on("shown.bs.modal", function() {
  new Clipboard('#copy', {
      text: function(trigger) {
          return $("#copy-input").val();
      }
  });
});

但是,并没有解决问题。有什么想法吗?

最佳答案

我遇到了同样的问题,我解决了这个附加元素而不是 document.body 的问题。

function copyToClipboard() {
   const el = document.createElement('textarea');
    el.value = 'text to copy';
    document.getElementById('copy').appendChild(el);
    el.select();
    document.execCommand('Copy');
    document.getElementById('copy').removeChild(el);
}

出于可访问性 (enforceFocus) 的原因,Bootstrap 的模式强制执行焦点,但这会导致许多第三方库出现问题

https://github.com/twbs/bootstrap/issues?q=is:issue+enforceFocus+is:closed

关于javascript - Clipboard.js 在 Bootstrap 模态中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40526156/

相关文章:

html - 在 angular 6 应用程序中的 ngFor 指令内自动将 Div 推到右边

javascript - jQueryJavaScript 错误 - 丢失;声明前

javascript - React-redux connect 传递 Prop 太晚了

javascript - 将 <IMG> 转换为 base64 Javascript

jquery动画动态高度div

jquery - 使 Bootstrap 下拉按钮级联

html - bootstrap.css 中两个 div 之间无法解释的空格

javascript - 从 iOS 到 WebSockets 的二进制数据

jquery - 如何在 Bootstrap col-md-1 中正确居中旋转 (90) 文本

jquery - 打开 Bootstrap 选项卡时如何避免滚动到顶部