js 获取鼠标选中文字坐标

前言

最近项目中有个需求就是选中某一字符串在前后加上任意字符

1.标签 ,加上id  方便获取文本内容

<el-input id="textarea" type="textarea" v-model="form.description" :autosize="{ minRows: 4, maxRows: 6}" placeholder="请输入规则描述" @mouseup.native="handleGetText"></el-input>

 2.写具体的实现方法 

 handleGetText(e){
      // 获取鼠标选中文字
      this.position = {};
      const txt = document.getSelection().toString();
      let rangeDivDom = document.querySelector('#textarea');
      console.log('txt:',txt);//选中的文字
      if(!txt || !txt.trim())return;    
      //获取位置
      this.position.start= rangeDivDom.selectionStart;
      this.position.end= rangeDivDom.selectionEnd;
      console.log('position:',this.position);
    },

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取鼠标左键选中的内容,我们可以借助JavaScript来实现。可以通过监听鼠标按键的点击事件来判断是否按下了鼠标左键,并在鼠标拖动的过程中实时获取选中的内容。 首先,我们需要给需要选中内容的元素添加一个鼠标按下事件的监听器,当鼠标按下时,获取鼠标按下的位置坐标。 接着,在鼠标移动的过程中,我们就可以根据鼠标的位置坐标选中的内容区域来获取选中文字内容。我们可以通过`window.getSelection()`来获取当前选中的内容。 最后,在鼠标抬起时,我们就可以得到最终选中的内容了。可以通过`window.getSelection().toString()`来获得选中文字内容。 以下是一个简单的示例代码: ```javascript // 获取选中的内容 function getSelectedText() { const selectedText = window.getSelection().toString(); console.log(selectedText); } // 监听鼠标按下事件,获取按下的位置坐标 document.addEventListener('mousedown', function(event) { if (event.button === 0) { // 判断是否是鼠标左键按下 var startPoint = { x: event.clientX, y: event.clientY }; document.addEventListener('mousemove', mouseMoveHandler); } }); // 监听鼠标抬起事件,获取选中的内容 document.addEventListener('mouseup', function(event) { if (event.button === 0) { // 判断是否是鼠标左键抬起 document.removeEventListener('mousemove', mouseMoveHandler); getSelectedText(); } }); // 鼠标拖动事件,实时获取选中的内容 function mouseMoveHandler(event) { var currentPoint = { x: event.clientX, y: event.clientY }; // 根据起始点和当前点坐标计算选中的内容区域 // 然后可以根据这个区域来获取选中的内容 } ``` 以上就是使用JavaScript获取鼠标左键选中的内容的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值