按下按钮后,将焦点放在特定的div上

Tec*_*chy 4 javascript

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

Vik*_* S. 12

通常,你不能集中div.但是如果你要添加一个tabindex,它会起作用:

<div tabindex="0">test </div>
Run Code Online (Sandbox Code Playgroud)

这是一个演示:

.z{margin-top:800px;}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" onclick="$('.z')[0].focus()" value="test" />
<div>
    <div class="z" tabindex="0">test </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果你单击测试按钮div应该成为焦点并跳转到视图.点击我就像做一样divElement.focus()

另一种选择是滚动包含新添加的div的区域,就像这里的其他答案一样.


jcu*_*bic 9

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

$(window).scrollTop($('#new_div').offset().top-20)
Run Code Online (Sandbox Code Playgroud)


Tec*_*chy 5

使用以下声明对我有用。

document.getElementById('id').scrollIntoView();
Run Code Online (Sandbox Code Playgroud)