当该文本框上的iframe控件具有焦点时,如何保持页面的滚动位置?

时间:2013-04-15 10:13:11

标签: c# javascript asp.net ajax

在我的网页中,我使用的是一个iframe控件,它在更新面板中,每隔4秒刷新一次,焦点设置为iframe中的一个文本框。我想保持页面的滚动位置,但每4秒后滚动位置就会转到聚焦文本框。

我使用了MAintainScrollpositononPostBack选项

并遵循javascript代码

function scroll()
      {
      var obj = document.getElementById("Form1"); 
      obj.scrollTop = obj.scrollHeight;
      }

任何人都可以解释如何摆脱这个问题吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

最简单的答案是在更新时不将焦点设置到文本框,这意味着除非您使用的某些代码仍然将焦点设置为屏幕外元素,否则不会更改scoll位置。

如果在更新时必须将焦点设置在文本框上,请保存滚动位置并将其恢复。

var doc = document.documentElement, body = document.body;
var left = (doc && doc.scrollLeft || body && body.scrollLeft || 0);
var top = (doc && doc.scrollTop  || body && body.scrollTop  || 0);

//update your text box and set focus here

window.scrollTo(left, top);

答案 1 :(得分:0)