基于vue鼠标双击文本全选及获取光标位置

鼠标双击文本全选

实现效果如图:


双击选中文本
vue项目如何实现:

1.HTML部分

<template>
      <div @dblclick="getSelectText"=''>鼠标双击文本全部选择</div>  
</template>

2.js部分

  methods:  {
        getSelectText (e) {
            if  (document.body.createTextRange)  {
                // IE兼容
                var range = document.body.createTextRange();
                range.moveToElementText(e.target);
                range.select();
            } else {
                let selection = window.getSelection();
                let range = document.createRange();
                range.selectNodeContents(e.target);
                selection.removeAllRanges();
                selection.addRange(range);
            }
       }
  }

input元素获取光标下标

1.HTML部分

<template>
      <input @click="getTextIndex'' value=''鼠标双击文本全部选择" />  
</template>

2.js部分

  methods:  {
      getTextIndex (e) {
            let target = e.target, index;
            if (target.selectionStart) {
                  index = target.selectionStart;
            } else {
                  let range = document.selection.createRange(); 
                  index = range.text.length;
            }
            return index;
       }
  }

最后总结

根据不同需求,逻辑可以进行相应修改,比如设置光标的位置以及光标位置下插入文本等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,173评论 0 0
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    小姜先森o0O阅读 9,815评论 0 72
  • Download Visual Studio Code 简介 VSCode是微软推出的一款轻量编辑器,采取了和VS...
    jrg陈咪咪sunny阅读 2,945评论 0 3
  • 读书也好,读文也好,总能在不经意间豁然开朗。我们常说退一步海阔天空,但有多少人能做到呢。孔子在三八二十四与三八二十...
    万儿阅读 293评论 0 2
  • 如果有一份喜欢的工作,并以此养活自己,该是世界上最幸福的事了吧? 可是,真正这样的人能有几个? 我身边有几个朋友,...
    林中风起阅读 354评论 3 3