当#已经添加到url中时,如何使用javascript或jquery设置对div的关注?

Jim*_*era 11 html javascript jquery focus setfocus

我想使用jquery或javascript设置对特定div的关注.我只是使用document.getElementById("pack_0").focus();'pack_0'是我的div id,但它不起作用.我注意到'#'已添加到我的网址中,因为有一些弹出编码,所以我的网址是'http:// localhost/website/book#'

所以,任何人都可以帮助我在#url中完全专注于div吗?

提前致谢.

Ant*_*ist 23

从这个问题来看,我认为你实际上通过"聚焦div"意味着"改变窗口的垂直滚动位置,以便div可见".如果是这种情况,您可以使用以下jQuery代码:

$(window).scrollTop($('#pack_0').offset().top);
Run Code Online (Sandbox Code Playgroud)


小智 8

要首先将焦点设置为 div,我们需要为特定的 div 定义 tabindex,如下所示

<div class="leftbar-btn-module" tabindex="-1">'Content'</div>
Run Code Online (Sandbox Code Playgroud)

和 jquery 设置焦点

jQuery(".leftbar-btn-module").attr("tabindex",-1).focus();
Run Code Online (Sandbox Code Playgroud)


Luk*_*020 6

在你的情况下,安东尼·格里斯特的假设可能是正确的.但是,它可以帮助其他人搜索该主题以了解如果所需的焦点对象是DIV,则该DIV应该具有tabindex集,例如tabindex ="9999".否则,大多数浏览器都不会分配焦点.