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

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

作者: 前端划水工 | 来源:发表于2019-03-26 16:41 被阅读0次

鼠标双击文本全选

实现效果如图:


双击选中文本
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;
       }
  }

最后总结

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

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/wyzgvqtx.html