添加新行时,将焦点设置到div内部的表格末尾

时间:2010-02-03 10:37:27

标签: javascript html css vbscript

我在div中有一个设置高度的表,当表大于div时,滚动条显示。 问题是,如果div的滚动条位于顶部,底部的其他行隐藏,并且用户按下按钮添加新行,此行将添加到表格的底部,因此您可以看不到。

是否有javascript,vbscript或css将焦点设置为已创建的行,以便在添加时可见?

这是将调用添加新行的函数的代码。

   strRow = strRow + "<div>
        <input ID='AddRowTableNew_" + cstr(newrow.id) + "' type='button' 
        value='Add New Row' 
        onclick='vbscript:AddNewRow 0," + cstr(newRow.id)+ "'/>
    </div>"

任何帮助都将不胜感激。

PD:我需要使用VBScript或JavaScript,请不要使用JQuery。

感谢。

2 个答案:

答案 0 :(得分:5)

试试Element.scrollIntoView();。它适用于Firefox,IE6 +,Opera和谷歌Chrome / Safari。

您还可以为函数提供一个布尔值,该函数将指定将元素滚动到的位置:

// Align the element with the top of the parent
Element.scrollIntoView();
Element.scrollIntoView(true);

// Align the element with the bottom of the parent
Element.scrollIntoView(false);

使用示例

编辑scrollIntoView MDC documentation

要滚动到底部,您还可以将元素的scrollTop属性设置为等于scrollHeight属性:

Element.scrollTop = Element.scrollHeight;

答案 1 :(得分:2)

试试这个......

var div = document.getElementById('the_div');
div.scrollTop = div.scrollHeight;

希望它有所帮助。