不使用焦点()设置文本框处于活动状态

时间:2014-08-19 06:50:56

标签: javascript jquery html forms iframe

我有小iframe。 iframe的内容大于iframe窗口,可以通过滚动来查看。 iframe中有一个按钮。单击该按钮可激活一秒钟并增加iframe的高度和宽度,加载表单并将文本框设置为焦点。

 $input[0].focus();

但是,在动画开始之前,focus()会使文本框成为iframe窗口的中心,并扭曲iframe窗口中可见的内容。 我该如何实现:光标在该文本框中处于活动状态,但不能重新定位iframe的内容。重新定位发生,以便文本框可以在iframe的可见部分。

由于其他约束,我无法将focus()放入animate()的回调中。

1 个答案:

答案 0 :(得分:1)

根据@Zyga的建议,这有效:

function focusWithoutScrolling (element){
var x = window.scrollX, y = window.scrollY;
element.focus();
window.scrollTo(x,y);