今天小编就为大家分享一篇Vue中div contenteditable 的光标定位方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在Vue做项目时,做了一个div[contenteditable=true]的组件作为文本输入框

在非手动输入值后,光标会丢失,经测试以下这段代码可用,直接将光标定位到最后

function keepLastIndex(obj) {
  console.log(obj)
  console.log(window.getSelection)
  console.log(document.selection)
  if (window.getSelection) { //ie11 10 9 ff safari
   obj.focus(); //解决ff不获取焦点无法定位问题
   var range = window.getSelection(); //创建range
   range.selectAllChildren(obj); //range 选择obj下所有子内容
   range.collapseToEnd(); //光标移至最后
  } else if (document.selection) { //ie10 9 8 7 6 5
   var range = document.selection.createRange(); //创建选择对象
   //var range = document.body.createTextRange();
   range.moveToElementText(obj); //range定位到obj
   range.collapse(false); //光标移至最后
   range.select();
  }
 }

在实际使用时,vue.$emit是一个异步函数,最好在调用这个定位前加上一定的,经测试,5ms就可以了

setTimeout(()=>{
 keepLastIndex(e.target)
},5)

以上这篇Vue中div contenteditable 的光标定位方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持爱安网。

最新资讯
易到用车服务器遭到连续攻击 攻击者索要巨额比特币

易到用车服务器遭到连

26日凌晨,易到用车服务器遭到连续攻击,给用户使用带来严
周鸿祎谈中芯国际退市 人们现在才明白360是先见之明

周鸿祎谈中芯国际退市

360董事长兼CEO周鸿祎谈到“中芯国际退市”时表示,科技
发力新能源:从新能源汽车产业发展看中国经济新动能

发力新能源:从新能源汽

去年以来,新能源汽车的优秀表现成为中国车市的一抹亮色
喜马拉雅FM 12名董事退出 回应:因公司搭VIE结构

喜马拉雅FM 12名董事

喜马拉雅FM回应称:此次变动是因为公司搭VIE结构,所有境
联合国秘书长致2019中国国际大数据产业博览会贺信

联合国秘书长致2019中

联合国秘书长安东尼奥·古特雷斯致2019中国国际大数据
喜马拉雅12名董事同时退出 仅剩CEO余建军一人

喜马拉雅12名董事同时

包括小米副总裁洪峰在内的12名董事退出,仅剩喜马拉雅CE
最新文章
JavaScript解析及序列化JSON的方法实例分析

JavaScript解析及序列

这篇文章主要介绍了JavaScript解析及序列化JSON的方法
如何为vuex实现带参数的 getter和state.commit

如何为vuex实现带参数

这篇文章主要介绍了如何为vuex实现带参数的getter和st
使用VUE+iView+.Net Core上传图片的方法示例

使用VUE+iView+.Net C

这篇文章主要介绍了使用VUE+iView+.Net Core上传图片
JS实现的获取银行卡号归属地及银行卡类型操作示例

JS实现的获取银行卡号

这篇文章主要介绍了JS实现的获取银行卡号归属地及银行
Angular6 用户自定义标签开发的实现方法

Angular6 用户自定义

这篇文章主要介绍了Angular6 用户自定义标签开发的实
React 实现拖拽功能的示例代码

React 实现拖拽功能的

这篇文章主要介绍了React 实现拖拽功能的示例代码,小编