Javascript 单击按钮后,将焦点放在特定的div上

Javascript 单击按钮后,将焦点放在特定的div上,javascript,Javascript,我在一个页面上有一个表格,用于注册某一特定舞台上的各种娱乐节目。提交所有详细信息并单击提交按钮后,它应该检查在特定日期该阶段是否存在程序。如果存在任何程序,div应该显示现有程序的全部细节。我的问题是,如果存在任何程序,我需要将焦点放在新生成的div上(我的意思是div应该是可见的,不需要编辑)。我需要它,因为div是在AJAX的帮助下生成的,表单太长了,所以用户不能看到生成的div,除非他/她向上滚动。 注意:div是在顶部位置创建的。 提交表单后是否有任何方法使div部分可见Trywindo

我在一个页面上有一个表格,用于注册某一特定舞台上的各种娱乐节目。提交所有详细信息并单击提交按钮后,它应该检查在特定日期该阶段是否存在程序。如果存在任何程序,div应该显示现有程序的全部细节。我的问题是,如果存在任何程序,我需要将焦点放在新生成的div上(我的意思是div应该是可见的,不需要编辑)。我需要它,因为div是在AJAX的帮助下生成的,表单太长了,所以用户不能看到生成的div,除非他/她向上滚动。 注意:div是在顶部位置创建的。
提交表单后是否有任何方法使div部分可见

Try
window.scrollTop=#VALUE

您可以使用以下命令滚动到页面顶部:

window.scrollTo(0,0);
或者使用jQuery,使用:

$('html,body').scrollTop(0);
或者有一些有趣的效果

$('html, body').animate({ scrollTop: 0 }, 'fast');

您可以使用这样的代码跳转到div

$(window).scrollTop($('#new_div').offset().top-20)

通常情况下,您无法聚焦div。但如果您将tabindex添加到div中,它将起作用:

<div tabindex="0">test </div>

试验

使用以下语句对我很有效

document.getElementById('id').scrollIntoView();

测试

“scrollIntoView”方法的基本版本支持IE8+


以下是文档:

它给了我错误未捕获类型错误:无法读取Null的属性“scrollIntoview”这缺乏大多数浏览器的支持:它将是“scrollIntoview”而不是“scrollIntoview”(请参见大写字母“V”)。最有可能被否决,因为它缺乏解释和使用jQuery内联。我想说,这一切都是糟糕的做法。这里也没有提到jQuery是一种需要。在回答JS问题时需要小心,假设他们正在使用你的库,除非他们真的这么说。我已经寻找解决方案好几年了,非常感谢!
<input type="button" onclick="$('#c')[0].focus()" value="test focus" />
<div>
    <div id="c" tabindex="1" style="margin-top:800px;">testing</div>
</div>
var selector = document.getElementById('YOUR_ID_SELECTOR');

if(typeof selector.scrollIntoView !== 'undefined' )
    selector.scrollIntoView();