vue复制textarea文本域内容

方案:找到textarea对象,获取焦点,选中textarea的所有内容,并调用document.execCommand("copy")

实现代码:

<template>
  <div>
    <textarea ref="letters"></textarea>
    <button @click="copyToClipboard(‘letters‘)">复制</button>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        loading: false
      }
    },
    created() {
      this.$nextTick(function () {
        this.$refs.letters.value = ‘用户名:张三\n性别:男\n电话号码:15812322222‘;
      })
    },
    methods: {
      //复制内容到粘贴板
      copyToClipboard(elemRef) {
        let target;
        let succeed = false;
        if(this.$refs[elemRef]){
          target = this.$refs[elemRef];
          // 选择内容
          let currentFocus = document.activeElement;
          target.focus();
          target.setSelectionRange(0, target.value.length);
          // 复制内容
          try {
            succeed = document.execCommand("copy");
            alert("内容复制成功");
          } catch (e) {
            succeed = false;
          }
          // 恢复焦点
          if (currentFocus && typeof currentFocus.focus === "function") {
            currentFocus.focus();
          }
        }
        return succeed;
      },
    }
  }
</script>

复制完成后,在记事本等编辑器中粘贴即可。

原文地址:https://www.cnblogs.com/yeqrblog/p/9571129.html

时间: 2024-10-09 17:17:21

vue复制textarea文本域内容的相关文章

textarea文本域的高度随内容的变化而变化

用css控制textarea文本域的高度随内容的变化而变化,不出现滚动条. CSS代码: 复制代码 代码如下: .t_area{ width:300px; overflow-y:visible } <textarea class="t_area"> 随便在这里输入内容,textarea的高度会随着你输入的内容而变化,不会出现滚动条,实现很简单,就是一段css:overflow-y:visible </textarea> 首先,原则上实现textarea自适应必须

textarea文本域保存的一些思考

textarea文本域保存文本到数据库的时候,数据要做一定的处理,否则数据库的内容不能正确显示在页面上.主要原因就是换行符的不一致造成的. 具体思路是:(1)页面上的内容存到数据库的时候,要把换行符转换成"<br/>": 我在action层: // 使用这句话对页面上传过来的换行符进行处理 liwei 20140724 1115 assignment_teacher_comment = assignment_teacher_comment.replaceAll("

格式化文本域内容

本函数对 form 表单提交过来的 textarea 文本域的内容进行处理. 代码清单: <?php /** * 格式化文本域内容 * @author ruxing.li * @param $string 文本域内容 * @return string */ function formatTextarea($string) { $string = nl2br ( str_replace ( ' ', ' ', $string ) ); return $string; } 声明:本文出自CSDN,若

textarea文本域宽度和高度(width、height)自己主动适应变化处理

文章来源:http://www.cnblogs.com/jice/archive/2011/08/07/2130069.html <HTML> <HEAD> <TITLE>textarea宽度.高度自己主动适应处理方法</TITLE> <!-- 控制宽度的自己主动适应 --> <style type="text/css"> .comments { width:100%;/*自己主动适应父布局宽度*/ overflo

js自动过滤替换页面文本框和文本域内容中的特殊字符并进行提示

在开发java web页面时需要校验用户的输入内容是否合法,在进行校验时我们可以单独把校验特殊字符这块抽取出来,只需要在每个页面引用下该js即可实现校验不需要再页面设置其他东西,js会自动捕捉页面文本框和文本域,同时也方便了以后代码的复用. 代码如下: var tagname=''; var attrid=''; var tagvalue=''; document.oninput = function(e){ var o = e.srcElement || e.target; getValue(

HTML学习笔记 域元素(form表单、textarea文本域、fieldset域集合、input使用) 案例 第四节 (原创)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表单</title> </head> <body> <!--form表单--> <form> 用户名: <!--文本域--> <input type="text">

css固定textarea文本域尺寸

大家都知道,textarea元素在chrome等浏览器下可以被拖拉从而改变大小,对于查看textarea里面的内容来说相当方便,但是有时候 我们为了保持网页的美观,不得不想要禁掉这个功能,禁止用户随意拉动textarea的大小,其实很简单,只需要用css加一个小小的属性,代码如下: textarea{ resize:none; }

textarea文本域

textarea中换行问题 一旦用nl2br函数处理会多个\n导致十分难看 也无法形成文本框默认效果 前台的html如果用<br/>处理也会给后台的编辑造成困难 所以在编辑的时候这样处理 把\n字符串换成\n换行即可 编辑里的显示效果是这样的 当在前台显示的时候 就直接处理一下 显示为<br/>后即可 显示效果是这样的

textarea文本域字数控制---并显示已输入字数

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="