<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>光标位置</title>
<style>
INPUT{border: 1 solid #000000}
BODY,TABLE{font-size: 10pt}
</style>
</head>
<body><table border="0" width="700" cellspacing="0" cellpadding="0">
  <tr>
<td width="479" rowspan="7">
点击 TextArea 实现光标定位<p>
<textarea rows="7" cols="49" id="box" onclick=tellPoint()>
记得红与黑最后那段吗?一个猎人在草丛中穿行,皮靴踩翻了一只蚁巢。猎人浑然不觉继续远行,而蚁群四散逃开,最后只剩下那些刚孵化的幼蚁,天
然的本能支配它们纷纷努力向最近的高出爬去。
</textarea>   
 
<script> 
 function setCookie(cookieName, cookieValue, expires, path, domain, secure) 
  {
document.cookie =
escape(cookieName) + '=' + escape(cookieValue)
+ (expires ? '; expires=' + expires.toGMTString() : '')
+ (path ? '; path=' + path : '')
+ (domain ? '; domain=' + domain : '')
+ (secure ? '; secure' : '');
};function getCookie(cookieName) 
{
var cookieValue = '';
var posName = document.cookie.indexOf(escape(cookieName) + '=');
if (posName != -1) 
{
var posValue = posName + (escape(cookieName) + '=').length;
var endPos = document.cookie.indexOf(';', posValue);
if (endPos != -1) 
{
cookieValue = unescape(document.cookie.substring(posValue, endPos));
}
else 
{
cookieValue = unescape(document.cookie.substring(posValue));
}
}
return (cookieValue);
};
 function  clearCookie() 
{
var now = new Date();
var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24);
this.setCookie('pos1', '', yesterday);
this.setCookie('pos2', '', yesterday);
};
function tellPoint() 

 var rng = event.srcElement.createTextRange(); 
 
 rng.moveToPoint(event.x,event.y);  
 rng.moveStart("character",-event.srcElement.value.length)
  
 if(getCookie("pos1")=="")setCookie("pos1",rng.text.length);
 else {
  setCookie("pos2",rng.text.length);
 }
 selectText(getCookie("pos1"),getCookie("pos2"));
  // return  rng.text.length;
 //returnCase(rng) 

 
function returnCase(rng) 

 t.innerText  = rng.text; 

 
 
function selectText(sp,ep) 

 sp = parseInt(sp) 
 ep = parseInt(ep) 
  
 if(isNaN(sp)||isNaN(ep)) 
  return; 
   
 var rng = box.createTextRange(); 
  
 rng.moveEnd("character",-box.value.length) 
 rng.moveStart("character",-box.value.length) 
  
 rng.collapse(true); 
  
 rng.moveEnd("character",ep) 
 rng.moveStart("character",sp) 
  
 rng.select();
 returnCase(rng); 
 setCookie("pos1","");
 setCookie("pos2","");

 
</script>
</td>  
<td width="217">boundingHeight: <span id="bh"></span></td>  
  </tr>    <tr>  
<td width="217">text: <span style="position: absolute; z-index: 10" id="t"></span> </td>  
  </tr>  
</table>  
</body></html>