高分求解:稻草人写的代码的改良问题(梅花雪,稻草人,天外水火请进),UP者有分

ccccffff 2006-06-26 11:03:18
如果一开始选者3-10行,然后按动textarea的滚动条,下拉3行,然后再按更新,那么就会发现,1-2行也被选中了。这个问题该如何解决?

<html>
<head>

<META http-equiv=\"Content-Type\" content=\"text/html; charset=shift_jis\">
<title>Test</title>
<script language=javascript>
var http_request = false;
var strData;

function set()
{
r1 = document.selection.createRange();
ss = r1.text;
r = r1.getClientRects();
getData();
document.getElementById("textAr").innerText=strData ;

if( ss != "" )
{
var rng = document.getElementById("textAr").createTextRange();
var rng2= rng.duplicate();
rng.moveToPoint(r[0].left,r[0].top);
rng.select();
rng2.setEndPoint("StartToEnd", rng);
rng.moveToPoint(r[r.length-1].right,r[r.length-1].top);
rng2.setEndPoint("EndToEnd", rng);
rng2.select();
}

}


function getData(){
//strData = window.document.TestApplet.GetStringData();
strData = "123456789023423523544444444444444444444444444444444444444444444444435444444444444444412345678902342352354444444444444444444444444444444444444444444444444444444444444444444412345678902342352354444444444444444678444444444444444444444444444444444444444444444444441234567890234235235444444444444444444444444444444444444444444444444444444444444444444441234567890234235235444444444444444444444444444444444444444444444444444444444444444444441234567890234235235444444444444444444444444444444444444444467844444444444444444412345678902342352354444444444444444444444444444444444444444444444444444444444444444444412345678902342352354444444444444444444478544444444444444444444444444444444444123456789023423523544444444444444444444444444444444444444444444444444444444444444444444";
}
</script>
</head>
<body>
<form method = "post" action = "" name = "Fm">
<input type = "button" value = "更新" onclick = "set()">
<textarea name = "textAr" rows = 10 cols = 10>123456
</textarea>

<input type = hidden name = "btnH">
</form>
</body>
</html>
...全文
186 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ice_berg16 2006-06-26
  • 打赏
  • 举报
回复
try


function set()
{
var ta = document.getElementById("textAr");
r1 = document.selection.createRange();
r1.scrollIntoView();
ss = r1.text;
r = r1.getClientRects();
getData();
ta.innerText=strData ;

if( ss != "" )
{
var rng = ta.createTextRange();
var rng2= rng.duplicate();
rng.moveToPoint(r[0].left,r[0].top);
rng.select();
rng2.setEndPoint("StartToEnd", rng);
rng.moveToPoint(r[r.length-1].right,r[r.length-1].top);
rng2.setEndPoint("EndToEnd", rng);
rng2.select();
rng2.scrollIntoView();
}
}
ccccffff 2006-06-26
  • 打赏
  • 举报
回复
怎么叫的人一个都没进...
slayerbb 2006-06-26
  • 打赏
  • 举报
回复
???
ccccffff 2006-06-26
  • 打赏
  • 举报
回复
自己UP
wfg2004 2006-06-26
  • 打赏
  • 举报
回复
UP

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧