Knockout:滚动到新插入的元素之一

时间:2013-05-23 11:26:59

标签: ajax dom knockout.js

所以我在c#中对控制器进行异步调用以获得100个对象。 完成此操作后,我将其加载到我的html页面,并通过链接中的参数,我打算滚动到它。

例如:localhost/page.aspx?scrollToId=85

我这样做如下:

var selectedItem = $("tr[data-scrollToId='" + selectedItemId() + "']");
$('body').scrollTo(selectedItem );
selectedItem.fadeOut().fadeIn();

当我有静态元素时,这是有效的,但由于异步调用,dom稍后加载,并且它不会滚动到它。 (它确实淡出并再次出现)。

我一直在研究淘汰赛本身的afterRender方法,但这也没有给出任何改变。

有没有办法等待实际的dom渲染所有元素,只有在完成后才滚动到它?

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

问题实际上是afterRender只适用于模板。我将视图移动到模板然后afterRender工作。