ddddd

获取鼠标选中的文本

作者:程序员11 时间:2022-11-26 人气:527 QQ交流群\邮箱:1003265987@qq.com
获取鼠标选中的文本
要展示的内容

昨天产品提了个需求,要获取选中的文本,并在选中的文本后面加个添加按钮,将选中的文本渲染到另一边。

这个可以通过window.getSelection()来获取选中的信息

<!DOCTYPE html>
<html style="overflow: hidden;">
<head>
    <meta charset="UTF-8">
    <title>我是父页面,调用别的子页</title>
    <style type="text/css">
/* webkit, opera, IE9 (谷歌浏览器)*/
::selection { 
    background:rgb(255, 145, 0); 
    color:red; 
}
/* mozilla firefox(火狐浏览器) */
::-moz-selection { 
    background:rgb(255, 145, 0); 
    color:red; 
}

    </style>
</head>
<body>
    <div>
        这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本
        这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本
        这是一<b>段文本这是一段</b>文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本
        <p style="color:red;">这是一段文本这是一段文本</p>
    </div>
</body>
<script>
    window.addEventListener('mouseup', function (e) {
        let result = window.getSelection().toString()
        console.log(result);
let doc = document.getSelection().getRangeAt(0).cloneContents();
let text = document.getSelection().toString();
let node = document.createElement("p");
node.appendChild(doc);
console.log(node.innerHTML,text);
    })
 
</script>
</html>

image.png

给文本添加事件监听,通过window.getSelection()来获取选中的信息

image.png

在控制栏打印出来就是你选中的文本了

在我自己的vue项目中我还通过$event事件去改变一个加号的定位选中后可以将加号的位置移动到选中文本的后面

image.png

参考链接:js获取选中文本 - 简书


温馨提示:

欢迎阅读本文章,觉得有用就多来支持一下,没有能帮到您,还有很多文章,希望有一天能帮到您。

获取鼠标选中的文本---相关文章


评论区

ddddd

程序员-学习的网站-想学习编程的码农可以进来看看

首页

视频教程

购物车

我的订单