在使用 clipboard.js 将文本复制到剪贴板后,如何将按钮更改为说 "Copied!"?
How do I change the button to say "Copied!" after text is copied to clipboard using clipboard.js?
以下 HTML 页面来自 clipboardjs.com 的 clipboard.js 演示。我喜欢它的工作原理,它突出显示了文本。
但是,我要求在用户单击按钮并成功完成复制到剪贴板后,将按钮从显示 "Copy" 更改为 "Copied!"。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>target-input</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<!-- 1. Define some markup -->
<input id="foo" type="text" value="hello">
<button class="btn" data-clipboard-action="copy" data-clipboard-target="#foo">Copy</button>
<!-- 2. Include library -->
<script src="../dist/clipboard.min.js"></script>
<!-- 3. Instantiate clipboard -->
<script>
var clipboard = new Clipboard('.btn');
clipboard.on('success', function(e) {
console.log(e);
});
clipboard.on('error', function(e) {
console.log(e);
});
</script>
</body>
</html>
clipboard.on('success', function(e) {
document.querySelector('data-clipboard-target="#foo"').value = 'Copied!';
});
这对我有用:
clipboard.on('success', function(e) {
e.clearSelection();
e.trigger.textContent = 'Copied!';
});
引用tutorial使用自定义事件:
- 首先,我们使用剪贴板中的
clearSelection()
实用函数清除复制内容区域内的选择。添加这个是可选的。
- 然后我们将内容设置为“已复制!”
以下 HTML 页面来自 clipboardjs.com 的 clipboard.js 演示。我喜欢它的工作原理,它突出显示了文本。
但是,我要求在用户单击按钮并成功完成复制到剪贴板后,将按钮从显示 "Copy" 更改为 "Copied!"。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>target-input</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<!-- 1. Define some markup -->
<input id="foo" type="text" value="hello">
<button class="btn" data-clipboard-action="copy" data-clipboard-target="#foo">Copy</button>
<!-- 2. Include library -->
<script src="../dist/clipboard.min.js"></script>
<!-- 3. Instantiate clipboard -->
<script>
var clipboard = new Clipboard('.btn');
clipboard.on('success', function(e) {
console.log(e);
});
clipboard.on('error', function(e) {
console.log(e);
});
</script>
</body>
</html>
clipboard.on('success', function(e) {
document.querySelector('data-clipboard-target="#foo"').value = 'Copied!';
});
这对我有用:
clipboard.on('success', function(e) {
e.clearSelection();
e.trigger.textContent = 'Copied!';
});
引用tutorial使用自定义事件:
- 首先,我们使用剪贴板中的
clearSelection()
实用函数清除复制内容区域内的选择。添加这个是可选的。 - 然后我们将内容设置为“已复制!”