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   进行反馈,共同学习!

你可能感兴趣的:(textarea滚动条定位,textarea的滚动条,js控制textarea滚动条,html滚动条控制)