在一些特殊应用中,我们需要获取页面上选中的文字,但是要实现这一需求,我们不得不面对那恼人的兼容问题,本文介绍了一个兼容性较好的解决方法。同时,也提供了一个在 FireFox 下获取 input 和 textarea 中选中文字的解决方案。
--------------------------------------------------------------
点此浏览示例文件
--------------------------------------------------------------
获取选中的普通页面上的文字,可以用下面的方法:
Javascript:
<script type="text/javascript"> // 说明:获取页面上选中的文字 // 整理:http://www.CodeBit.cn function getSelectedText() { if (window.getSelection) { // This technique is the most likely to be standardized. // getSelection() returns a Selection object, which we do not document. return window.getSelection().toString(); } else if (document.getSelection) { // This is an older, simpler technique that returns a string return document.getSelection(); } else if (document.selection) { // This is the IE-specific technique. // We do not document the IE selection property or TextRange objects. return document.selection.createRange().text; } } </script>
在 FireFox 下获取 input 或者 textarea 中选中的文字,可以用下面的方法:
Javascript:
<script type="text/javascript"> // 说明:FireFox 下获取 input 或者 textarea 中选中的文字 // 整理:http://www.codebit.cn function getTextFieldSelection(e) { if (e.selectionStart != undefined && e.selectionEnd != undefined) { var start = e.selectionStart; var end = e.selectionEnd; return e.value.substring(start, end); } else return ""; // Not supported on this browser } </script>


