我有一个长表单,其中包含向表单添加元素的组合框和按钮。每次更新组合框的值或添加元素时,它都会向上滚动到表单的顶部。我希望滚动条保持其位置。我尝试通过执行保存当前滚动位置
this.myForm.getScrollPosition();
但我得到 getScrollPosition 不是函数错误。
对此有什么帮助吗?
如果您使用 extjs,有一种方法可以使用 Ext.dom.Element 类来操作滚动,Extjs 中的每个组件都继承自它,然后如果您添加一个修改表单高度或宽度的新组件,您可以先使用以下方法获取该组件的高度和宽度:
var newcompwidth = comboboxexample.getWidth();
var newcompheight = comboboxeample.getHeight();
稍后您可以使用 scrollTo 方法修改滚动值,如下所示:
myformcontainer.getEl().scrollTo('Top',myformcontainer.getEl().getScroll().top - newcompheight);
myformcontainer.getEl().scrollTo('Top',myformcontainer.getEl().getScroll().left - newcompwidth);
还有其他方法,例如scrollBy
orscroll
但我还没有测试它,我想这会对你有所帮助。
文档:http ://docs.sencha.com/extjs/4.1.0/#!/api/Ext.dom.Element