Ext实现滚动条一直处于底部的方法

在我们的实际开发应用中,经常会使用到ext的常用控件textarea。对于一些form表单,录入信息的备注,简介等等信息较多的时候就会使用的textarea。最近在所一个全网拓扑图的时候,以及网络诊断ping,telnet连接测试等等功能的时候,出现了一些比较辣手的问题。就是通过ajax请求后台数据后,把新数据动态的显示到textarea中,textarea的滚动条不会定位到最底部。始终显示在top的位置。经过研究发现,ext对自身的textarea进行了封装,使用table布局。我们根据getCmp()方法获取的控件对象实际上是一个table,这是我们在对table设置它的scrollTop和获取它的scrollHeight属性都会失败。而我们真正需要的是textarea本身,而不是它的父组件table。

这里我把我的实现方法分享给各位网友,使大家少走一些弯路。

<pre name="code" class="javascript">xtype:'container',
region:'center',
layout:'fit',
items:[{
	margin:'10 20 0 0',
	xtype     : 'textarea',
	grow      : true,
	id      : 'textarea_id',
	fieldLabel: '',
	readOnly :true,
	autoScroll : true
}


解决方案1:

var textarea=Ext.getCmp('textarea_id');
textarea.bodyEl.dom.childNodes[0].scrollTop=textarea.bodyEl.dom.childNodes[0].scrollHeight;
解决方案2:

document.getElementById('textarea_id-inputEl').scrollTop = document.getElementById('textarea_id-inputEl').scrollHeight;
经过测试,两种方案都可以使用。
欢迎大家关注我的个人博客!!!!
如有不懂,疑问或者欠妥的地方,请加QQ群:135430763   进行反馈,共同学习!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

业余草

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值