点击上面的模板说明,可以在输入框的光标位置插入相应的语法。

<el-form-item label="模板说明:" v-if="form.news_type==='1'"><el-row class="templateCode"><el-col :span="8"><div class="grid-content bg-purple" style="color:#666" @click="makeActive('$Username$')"> 用户名:$Username$</div></el-col><el-col :span="8"><div class="grid-content bg-purple-light" @click="makeActive('$OrderId$')">订单号:$OrderId$</div></el-col><el-col :span="8"><div class="grid-content bg-purple" @click="makeActive('$Total$')">订单金额:$Total$</div></el-col></el-row><el-row><el-col :span="8"><div class="grid-content bg-purple" @click="makeActive('$Product_name$')">产品名称:$Product_name$</div></el-col></el-row></el-form-item><el-form-item label="编辑模板:" prop="message" v-if="form.news_type==='1'"><el-inputtype="textarea"id="emojiInput"maxlength="300"show-word-limit:autosize="{ minRows: 4, maxRows: 8}"v-model="form.message"placeholder="您好,您预约的**已经订购成功,我们将在1个工作日内与您联系安排服务,如有疑问请添加微信或致电1111"></el-input></el-form-item>
    /***插入模板说明的变量*/makeActive (item) {var elInput = document.getElementById('emojiInput') // 根据id选择器选中对象var startPos = elInput.selectionStart// input 第0个字符到选中的字符var endPos = elInput.selectionEnd// 选中的字符到最后的字符if (startPos === undefined || endPos === undefined) returnvar txt = elInput.value// 将表情添加到选中的光标位置var result = txt.substring(0, startPos) + item + txt.substring(endPos)elInput.value = result// 赋值给input的value// 重新定义光标位置elInput.focus()elInput.selectionStart = startPos + item.lengthelInput.selectionEnd = startPos + item.lengththis.form.message = result// 赋值给表单中的的字段},

vue 获取input光标位置,并实现插入模板语法。相关推荐

  1. JS获取鼠标光标位置并在光标位置添加内容

    目标需求 获取鼠标光标位置,然后点击按钮或其他事件,在鼠标光标的位置插入需要的文字等 准备工具 contenteditable:contenteditable属性指定元素内容是否可编辑. window ...

  2. html input光标位置,js控制input框内光标位置(setSelectionRange详解)

    问题描述 前段时间碰到一个需求:在表单中有一个字段叫金额,用户希望点击该输入框后(focus),能够自动为其金额数字后加上"万元"两个字. 虽然这个需求可以通过其他的设计方式规避( ...

  3. Vue获取当前的位置信息、经纬度

    通过navigator.geolocation对象中的getCurrentPosition() 函数获取用户当前定位位置.这会异步地请求获取用户位置,并查询定位硬件来获取最新信息.当定位被确定后,定义 ...

  4. vue获取input的属性_Vue中自动获取input焦点

    1.给input属性添加autofocus属性,缺点autofocus 在移动版 Safari 上不工作 2.Vue官网给出的解决办法 // 注册一个全局自定义指令 `v-focus` Vue.dir ...

  5. vue获取input的属性_vuejs 中如何优雅的获取 Input 值

    原生 js 使用 getElementById 比较麻烦的地方 需要为元素设置 id 设置 id 之后,无法复用,因为一个页面中不能存在两个相同的 id 双向绑定 v-model 分两种情况 inpu ...

  6. input光标位置设置至行末端

    最近接到了一个很尬的需求.. 这个需求是这样的- 再点击input框的时候光标要始终保持在内容的行末端 emm.. 废话少说,直接上代码! Js: end: function (item) {var ...

  7. vue获取input焦点事件_vue获取input焦点,弹框后自动获取input焦点

    Document 点开弹框1 点开弹框2 取 消 确 定 取 消 确 定 var app = new Vue({ el: '#app', data() { return { id: 'ssssss', ...

  8. uniapp vue获取dom元素位置和高度信息

    我有一个标题,希望它的高度是动态变化的 <view :style="{height: height + 'px'}"><view id="title_i ...

  9. JavaScript 中获取光标位置

    1.概念和原理 DOM中并没有直接获取光标位置的方法,那么我们只能间接来获取光标位置.DOM支持获取光标选中的范围,我们可以以此为切入点,来获取或定位光标的位置,当选取范围起始点和结束点一样时,就是光 ...

最新文章

  1. python与建筑设计_建筑学是学c语言好还是Python好?
  2. 程序员到了35 岁就要被裁员?
  3. 第二次结对编程之软件测试
  4. [转]Javascript的IE和Firefox(火狐)兼容性
  5. 互联网技术架构的启示
  6. 2009计算机统考真题,2009年计算机统考真题(完整版).PDF
  7. php提交飞信,php发送飞信消息
  8. Springmvc源码分析、底层原理
  9. JS !(非运算)详解
  10. hdu5651 xiaoxin juju needs help(逆元)
  11. 【数据结构笔记40】哈希表冲突处理方法:开放地址法(线性探测、平方探测、双散列、再散列),分离链接法
  12. 方框加对勾怎么输入_Word怎么输入对号和方框对勾
  13. 计算机辅助设计基础试题,CAD基础试题「附答案」
  14. 3种好用的可视化图表工具分享,快进来看!
  15. 什么是动态编程Python示例
  16. Camera Feature(1)--介绍及常见问题
  17. html 苹果 地图,为什么苹果手机自带的地图是高德而不是谷歌?
  18. 【Bilibili视频嵌入技巧】如何嵌入720PBilibili视频
  19. gerrit安装配置(http反向代理)
  20. RuntimeError: NCCL error in:torch/lib/c10d/ProcessGroupNCCL.cpp:514, invalid usage, NCCL version 踩坑

热门文章

  1. 51万年历林贤文:做一个不“安分”的程序员
  2. [转载]“澜爵酒堡”杯常青藤公开赛参赛名单--公开组C
  3. C语言详解系列——函数的认识(4)函数的声明与定义,简单练习题
  4. DNS原理与搭建(一)
  5. java连缀怎样写_【20200625】连缀例话:-写文章的7项好处
  6. 重装Office后打开Powerpoint和excel提示找不到VCRUNTIME140_1.dll的解决办法(亲测成功,简单有效)
  7. 红日安全attck靶场7 内网靶场 WP
  8. OCI跨租户(Tenancy)Object Storage文件复制
  9. 计算机在化学中的应用总结感悟,计算机在化学中的应用实践总结报告
  10. 安装vim的最新版本