vuejs如何实现复制粘贴功能,下面web建站小编给大家详细介绍一下实现代码!
新建copy.js的文件
const vCopy = {
bind(el, { value }) {
el.$value = value;
el.handler = () => {
if (!el.$value) {
console.log('无复制内容');
return;
}
const textarea = document.createElement('textarea');
textarea.readOnly = 'readonly';
textarea.style.position = 'absolute';
textarea.style.left = '-9999px';
textarea.value = el.$value;
document.body.appendChild(textarea);
// 选中值并复制
textarea.select();
textarea.setSelectionRange(0, textarea.value.length);
const result = document.execCommand('Copy');
if (result) {
console.log('复制成功');
}
document.body.removeChild(textarea);
};
el.addEventListener('click', el.handler);
},
componentUpdated(el, { value }) {
el.$value = value;
},
unbind(el) {
el.removeEventListener('click', el.handler);
},
};
export default vCopy;
新建directives.js文件
import copy from './copy.js';
// 自定义指令
const directives = {
copy,
};
export default {
install(Vue) {
Object.keys(directives).forEach((key) => {
Vue.directive(key, directives[key]);
});
},
};
main.js全局引入
import Vue from 'vue'; import Directives from './directives'; Vue.use(Directives);
页面调用
<template>
<div >
<button v-copy="copyText">拷贝</button>
</div>
</template>
<script>
export default {
data(){
return {
copyText:'要copy的内容'
}
},
methods: {
init () {
},
},
mounted () {
_this = this;
_this.init();
},
}
</script>
上面是“vuejs如何实现复制粘贴功能”的全面内容,想了解更多关于 vuejs 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_3057.html
workflows工作流
一条赤壁龙从蛋中孵化出来ComfyUI工作流
一个巨大的漆黑的蟹王ComfyUI工作流
一块慕斯蛋糕ComfyUI工作流
爱因斯坦在做实验3d动漫ComfyUI工作流
一个骷髅海盗船长ComfyUI工作流
一个漂亮的混血女孩ComfyUI工作流
一个极其美丽细致的女孩ComfyUI工作流
森林里有一个皮肤像抛光黑曜石的生物
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

会议人员60s签到倒计时插件
利用html5+css3实现滚雪球效果(附代码)
css3画弹珠,可以滚动!
数字滚动效果(兼容IE6/IE8)
用svg画出游泳池动画效果
自动打字效果(惊喜在后面)
用canvas实现画板涂鸦效果
在线生成金属文字







