JavaScript 获取选中文本的跨浏览器兼容实现
作者:白露时间:2026-10-30 09:26:31浏览:162
本文介绍一种在 JavaScript 中获取用户选中文本的方法,重点解决不同浏览器的兼容性问题。通过封装 getSelectedText 函数,利用 document.body.onclick 事件触发,实现了对选中文字内容的提取与展示。
JavaScript 获取选中文本的跨浏览器兼容实现
本文介绍一种在 JavaScript 中获取用户选中文本的方法,重点解决不同浏览器的兼容性问题。
具体运行效果如下所示:

实现该功能的完整代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>文本被选中</title>
<style type = "text/css">
#showSelected{
margin:100px auto;
width:100%;
height:200px;
background:#ececec;
border:1px solid #ccc;
}
</style>
<script type = "text/javascript">
//传入要获取其中选择文本的对象
function getSelectedText(e){
//IE下获取选择文本
if (document.selection) {
return document.selection.createRange().text;
}
//firefox下获取选择文本
else
if (window.getSelection().toString()) {
return window.getSelection().toString();
}
//firefox下获取input或textArea域的选择文本
else
if (e.selectionStart != undefined && e.selectionEnd != undefined) {
var start = e.selectionStart;
var end = e.selectionEnd;
return e.value.substring(start, end);
}
}
document.onmouseup = function(){
var ta = document.getElementById("myDiv");
document.getElementById("showSelected").innerHTML = getSelectedText(document.body);
}
</script>
</head>
<body>
<div id="myDiv">
This is a prograph for testing!
</div>
<div id = "showSelected"></div>
</body>
</html>
如需了解更多 JavaScript 相关知识,可参考本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》。
希望上述代码示例能对您的 JavaScript 编程工作提供实际帮助。
作者最新文章
AOS.js 动画不触发怎么办?排查 DOM 加载与移动端兼容问题
2026-11-05 17:02:26
sigma.js 怎么实现节点点击、拖拽与悬停提示交互
2026-11-05 15:03:27
Matter.js 与 PixiJS/Three.js 集成:分离物理计算与渲染
2026-11-05 13:43:48
主流JS弹幕库选型指南:Danmaku.js等库的功能与体积对比
2026-11-05 09:28:19
JavaScript点击事件监听与交互效果实例
2026-11-05 09:10:19
