jQuery-页面加载时将导航焦点拉到特定的链接

3

当页面加载时,我希望焦点跳转到特定的链接,这样按下回车键就可以“点击”它。

我已经尝试过

$('ul li a:first').focus();

但没有成功,我认为可能是我错误地解释了 .focus() 的用法。

欢迎任何建议!

:s


我认为你已经完美地解释了'.focus()'。在哪个浏览器中无法工作? - mkoistinen
也许你的js执行得太早了?你把它放进jQuery文档准备好块里了吗? - mkoistinen
问题就在这里!感谢所有的回复。我把它放在了文档的最后,但显然没有放够深入! - Cordial
2个回答

4

你的代码几乎正确。你只是漏了 $(document).ready

要修复,请使用以下代码:

$(document).ready(function(){
   $('ul li a:first').focus();
});

请参考jsfiddle中的示例。

问题在于当调用jquery时,页面上还没有该链接。 使用$(document).ready.只有在页面加载完成后才会调用jquery。


2

是的,虽然它的工作方式有点奇怪(我在jQuery focus文档中找到了这个,但并不声称理解为什么它能工作):

$(document).ready(
  function() {
    $("a:first").attr("tabindex",'-1').focus();
  }
  );

演示地址: jsbin

这真的非常有用 - 它非常适合为通常不会获得焦点的事物(如div)提供焦点。谢谢David! - Cordial

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接