情况描述:
刚开始用时,因为是单次点击复制按钮,只有触发一次“复制成功”事件。这里就说只弹出一次“复制成功”的窗口。
后来发现,点击复制按钮,关闭,再点击复制,会出现两次“复制成功”的弹窗。那么每多点一次复制按钮就会比前一次多一倍的窗口出现。也有些网友的是比前一次多一个窗口。
Clipboard.js 是一个将文本复制到剪贴板的插件。
https://github.com/zenorocha/clipboard.js
我的解决方法:
$(".download_btn").on("click", function () {
// 重点。每次点击之前销毁已有的实例。
if (clipboard) {
clipboard.destroy();
}
var clipboard = new ClipboardJS('.download_btn');
clipboard.on('success', function (e) {
alert("复制成功");
e.clearSelection();
// 用完即销毁
if (clipboard) {
clipboard.destroy();
}
});
clipboard.on('error', function (e) {
alert("复制失败,请重试。");
// 用完即销毁
if (clipboard) {
clipboard.destroy();
}
});
});
补充:
如果上面的方法还不能彻底解决问题,那么你的复制按钮(上例中的.download_btn)有可能也需要在每次使用完之后需要销毁,再加进来。这个就结合自己的实际情况适当做出调整了。
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。