js & click copy to clipboard
js & click copy to clipboard
https://www.cnblogs.com/xgqfrms/p/9999061.html
https://www.cnblogs.com/xgqfrms/p/10189199.html
https://www.cnblogs.com/xgqfrms/p/10109703.html
https://www.w3schools.com/howto/howto_js_copy_clipboard.asp
input select
vanilla js
-
window.copy
only for Chrome Console -
document.execCommand("copy")
©Text.select()
clickGetNewsId() {
let that = this;
let newsID = document.querySelector(`[data-uid="newsId"]`);
if (newsID) {
let result = that.commonHandle.newsId || ``;
let input = newsID.lastElementChild;
input.addEventListener(`click`, (e) => {
// console.log(`e.target =`, e.target);
// console.log(`e.target.dataset =`, e.target.dataset);
// console.log(`e.target.value =`, e.target.value);
// that.clickCopyText(input);
// this.clickCopyText();
try {
if (result) {
input.select();
document.execCommand("copy");
that.$hMessage.success(`资讯 ID, 复制成功!`);
} else {
that.$hMessage.info(`资讯 ID 为空, 无法复制!`);
}
} catch (err) {
console.log(`click copy error =`, err);
that.$hMessage.error(`你的浏览器太古老了,暂时不支持点击复制的功能!`);
}
});
} else {
//
}
// if (newsID) {
// result = newsID.lastElementChild.value;
// // result = that.commonHandle.newsId;
// }
},
clickCopyText(input) {
let that = this;
let result = that.commonHandle.newsId || ``;
// console.log(`click copy!`, result);
// console.log(`window.copy`, window.copy);
// undefined
try {
if (input) {
input.select();
if (result) {
document.execCommand("copy");
that.$hMessage.sucess(`资讯 ID, 复制成功!`);
} else {
that.$hMessage.info(`资讯 ID 为空, 无法复制!`);
}
}
} catch (err) {
console.log(`click copy error =`, err);
that.$hMessage.error(`你的浏览器太古老了,暂时不支持点击复制的功能!`);
}
// try {
// if (window.copy) {
// if (result) {
// console.log(`window.copy!`);
// window.copy(result);
// that.$hMessage.sucess(`资讯 ID, 复制成功!`);
// } else {
// that.$hMessage.info(`资讯 ID 为空, 无法复制!`);
// }
// }
// } catch (err) {
// console.log(`click copy error =`, err);
// that.$hMessage.error(`你的浏览器太古老了,暂时不支持点击复制的功能!`);
// }
return result;
},
vue
- input must be
:disabled="false"
<h-row class-name="common-handle-padding">
<h-col span="24">
<span class="audit-common-lable">资讯 ID</span>
<h-input
aria-placeholder="资讯 ID"
placeholder="请输入资讯 ID"
style="width: 80%"
ref="newsId"
data-uid="newsId"
v-model="commonHandle.newsId"
@on-change="onChangeInput(`newsId`)"
@on-enter="onChangeInput(`newsId`)"
:readonly="true"
:disabled="false">
</h-input>
</h-col>
</h-row>
https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript
https://stackoverflow.com/questions/19606221/copy-a-text-when-a-link-or-button-is-clicked
https://stackoverflow.com/questions/37381640/tooltips-highlight-animation-with-clipboard-js-click
https://davidwalsh.name/clipboard
libs
getSelection & execCommand
window.getSelection().toString()
window.document.execCommand(`copy`);
// true
document.execCommand(`copy`);
// true
refs
©xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/10290111.html
未经授权禁止转载,违者必究!