<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" οnclick=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>