使用Clipboard.js分别在工具提示中显示一条消息

时间:2017-03-06 12:50:46

标签: html css tooltip clipboard.js

我按照这个链接 Tooltip on click of a button 这非常有帮助。我的问题是当它改变一点时,在下面的代码片段中,如果我想要有两个输入按钮并且在点击它之后分别为每个输入按钮添加copied工具提示消息,我现在应该怎么做,现在在下面的片段中当你点击每一个时它会显示两个工具提示硬币



// Tooltip

$('button').tooltip({
  trigger: 'click',
  placement: 'bottom'
});

function setTooltip(message) {
  $('button').tooltip('hide')
    .attr('data-original-title', message)
    .tooltip('show');
}

function hideTooltip() {
  setTimeout(function() {
    $('button').tooltip('hide');
  }, 1000);
}

// Clipboard

var clipboard = new Clipboard('button');

clipboard.on('success', function(e) {
  setTooltip('Copied!');
  hideTooltip();
});

clipboard.on('error', function(e) {
  setTooltip('Failed!');
  hideTooltip();
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.10/clipboard.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>

<button class="btn btn-primary" data-clipboard-text="1">Click me</button>
<button class="btn btn-primary" data-clipboard-text="1">Click me</button>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您应该将触发事件的按钮传递给您的函数。

这是更新的代码:

// Tooltip

$('button').tooltip({
  trigger: 'click',
  placement: 'bottom'
});

function setTooltip(btn,message) {
  btn.tooltip('hide')
    .attr('data-original-title', message)
    .tooltip('show');
}

function hideTooltip(btn) {
  setTimeout(function() {
    btn.tooltip('hide');
  }, 1000);
}

// Clipboard

var clipboard = new Clipboard('button');

clipboard.on('success', function(e) {
  var btn = $(e.trigger);
  setTooltip(btn,'Copied!');
  hideTooltip(btn);
});

clipboard.on('error', function(e) {
  var btn = $(e.trigger);
  setTooltip('Failed!');
  hideTooltip(btn);
});