代码改变世界

javascript获取选中文本

2009-07-27 11:09  BlueDream  阅读(1886)  评论(0编辑  收藏  举报
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
body { font-size:12px; }
#show { background-color:#CCFF99; }
</style>
</head>
<body>   
<textarea id="content" cols="30" rows="10">
河中鱼类离奇死亡,下游居民频染怪病,沿岸植物不断变异,是残留农药?还是生化攻击?敬请关注今晚CCTV-10《科学探索》,即将播出的专题节目:《神秘的河边洗脚人--中国男足》
</textarea>   

<button id="btn">获取选中值</button>
<div id="show"></div>
<script>   
    String.prototype.trim = function() {    
         return this.replace(/^\s+|\s+$/g, "");    
     } 
	 /* 方法一 FF下有点问题 */
     function getSelectText() {   
        try{
            // IE: document.selection.createRange() W3C:window.getSelection()
            var selectText = (document.selection && document.selection.createRange )? document.selection.createRange().text : window.getSelection().toString();
            if(selectText != null && selectText.trim() != ""){
               return selectText;
            }
        }catch(err){}
     }      
	/* 方法二 */
	function getSelectText2(id) {
		var t = document.getElementById(id);
		if(window.getSelection) {
			if(t.selectionStart != undefined && t.selectionEnd != undefined) {
				return t.value.substring(t.selectionStart, t.selectionEnd);
			} else {
				return "";
			}
		} else {
			return document.selection.createRange().text;
		}
	 }
	 document.getElementById('btn').onclick = function() {
		 document.getElementById('show').innerHTML = getSelectText2('content');
	 }
</script>
</body>   
</html>