作者bennylu (Benny)
看板Web_Design
标题Re: [问题] JavaScript 对於 textarea 之事件一问
时间Fri Mar 9 21:00:40 2007
※ 引述《shawnwang (休假你好)》之铭言:
: 设计了一个页面,有一个大的 textarea 栏位
: 但这个栏位不允许使用者输入,而是透过 JavaScript 将 Value 逐行填进去
: 当行数填满後,右边会出现 Scroll Bar,资料可以继续填入
: 问题在於,出现 Scroll Bar 後,第一行的文字仍然在第一行,而不会往上卷动
: 反而是继续输入的文字被隐藏在 textarea 底下之後了
: 请问应该用何种事件驱动 可以使内文自动往上卷动
: 让使用者可以看到最新一笔的文字於最下面一行呢?
: 若表达得不清楚 恳请高手们提出 谢谢各位
: 说的有点冗长...简单补充一句话...就是要如何使 Scroll Bar 自动往下拉
: (内文自动往上卷)
这是动态更改textarea的rows
触发onkeyup事件时呼叫ChangeRows()
要达到你的需求就是把value给定给textarea并直接呼叫ChangeRows()
<textarea id="txt" wrap="hard" style="overflow:hidden;"
onkeyup="ChangeRows(this);">
</textarea>
<script language="javascript">
var ObjHeight=document.getElementById('txt').scrollHeight;
function ChangeRows(Obj){
if(ObjHeight<Obj.scrollHeight){
while(Obj.clientHeight<Obj.scrollHeight)
Obj.rows=Obj.rows+1;
}
if(ObjHeight>Obj.scrollHeight){
while(Obj.clientHeight>Obj.scrollHeight){
if(Obj.rows==2) break;
Obj.rows=Obj.rows-1;
}
}
ObjHeight=Obj.scrollHeight;
}
</script>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.64.104.3
1F:推 shawnwang:感谢第一篇回文以及这篇回覆的高手 ^^; 受益了 03/10 11:41