Javascript 获取页面上选中的文字

在一些特殊应用中,我们需要获取页面上选中的文字,但是要实现这一需求,我们不得不面对那恼人的兼容问题,本文介绍了一个兼容性较好的解决方法。同时,也提供了一个在 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 中选中的文字,可以用下面的方法:

<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>

关于 Artlover

有多年 web 开发经验,擅长领域 PHP / MySQL / CSS / Javascript / Zend Framework ,期望:在分享中共同成长。
此条目发表在 Javascript 分类目录,贴了 , , , , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>