点击 TextArea 实现光标定位

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值