900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > js复制功能 可粘贴到word 微信等其他地方(复制内容可换行)

js复制功能 可粘贴到word 微信等其他地方(复制内容可换行)

时间:2021-06-23 08:51:30

相关推荐

js复制功能 可粘贴到word 微信等其他地方(复制内容可换行)

情景:返回的list列表中,需要有复制功能,可以复制当前内容,并且当前内容有需要换行的需求。 代码如下:(vue项目)

HTML:

<ul><li v-for='(item,key) in content' :key='key' @click="copyContent(item)" style='white-space: pre-wrap;'> {{item}}</li></ul>

JS:

data() {return{item:[{content:'内容1\r\n内容被换行'},{content:'内容2'},{content:'内容3\r\n \r\n内容被换行'},{content:'内容4'}]}},methods:{//复制按钮copyContent(text){this.copyText(text,(words) => {//复制成功后,弹出复制成功element-ui弹窗,提示:内容复制成功!this.SUCC_MSGBOX('内容' + words + '!')})},// 复制方法copyText(text, callback) {// text: 要复制的内容, callback: 回调 - 复制成功后的操作//以下创建标签,根据需求来选取var tag = document.createElement('textarea')//textarea:标签会识别换行符,且后台返回换行符时不能转义 \r\n(Chrome浏览器返回↵ 字符,不是\r\n),如果换行符被转义,则会直接显示出来,无换行的功能了// var tag = document.createElement('input')//input 复制出来的内容无法换行,即使有换行符 ↵ 或 \r\ntag.setAttribute('id', 'cp_hgz_input')tag.value = textdocument.getElementsByTagName('body')[0].appendChild(tag)document.getElementById('cp_hgz_input').select()document.execCommand('copy')document.getElementById('cp_hgz_input').remove()if (callback) {callback('复制成功')}},}

( 效果:谷歌浏览器返回的是回车字符 -- ↵)

接口返回的数据:

页面显示效果:

页面如果不能换行显示,添加css样式:white-space: pre-wrap;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。