jQuery剪贴板插件和Bootstrap 3提示工具

3
我正在使用剪贴板插件HERE
我想在剪贴成功事件上修改bootstrap 3提示框的标题,但是我遇到了一个错误 "TypeError: e.trigger.tooltip is not a function"。
<div class="panel panel-default">
  <div class="panel-body">
    <p>
      USERNAME : <a href="#" title="Copy" class="btn-copy" data-clipboard-text="foo">foo</a>
      <br />
      PASSWORD : <a href="#" title="Copy" class="btn-copy" data-clipboard-text="bar">bar</a>
    </p>
  </div>
</div>

JS

$(".btn-copy").tooltip({
  placement: 'right'
});

clipboard.on('success', function(e) {
  e.clearSelection();
  console.log(e.trigger); -->//<a class="btn-copy" data-clipboard-text="foo" title="" href="#" data-original-title="Copy" aria-describedby="tooltip870310">

  e.trigger.tooltip({ title: 'Copied' });
});

clipboard.on('error', function(e) {
  console.log(e);
});

JSFIDDLE

如何解决这个问题?谢谢。

1个回答

5

首先,e.trigger是一个DOM元素而不是jQuery元素。 因此,您需要像这样包装它:$(e.trigger) 下面是该代码的有效代码https://dev59.com/TWgu5IYBdhLWcg3wloG_#30803562

$(e.trigger).attr('title', 'Copied').tooltip('fixTitle').tooltip('show');

谢谢。我曾尝试使用attr,但没有成功。 - Paolo Rossi
1
使用 attr 只会更新 DOM 元素,而不会刷新需要刷新的 tooltip 对象。 - ADreNaLiNe-DJ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接