2010-09-10 2 views
3

Как только страница загружается, я хочу, чтобы фокус переместился на определенную ссылку, поэтому нажатие кнопки «щелкнет».jQuery - вытащить навигационный фокус на определенную ссылку на загрузку страницы

Я попытался

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

без удачи, но я думаю, что может быть искажая использование .focus().

Любые советы приветствуются!

: S

+0

Я думаю, что вы отлично интерпретировали «.фокус()». В каком браузере это не работает? – mkoistinen

+0

Возможно, ваш js выполнен слишком рано? Вы помещали это в готовый блок документа jQuery? – mkoistinen

+0

проблема точно! спасибо за все ответы. У меня было это почти в конце документа, но, очевидно, далеко не так! – Cordial

ответ

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

+0

Это только что пригодилось - это здорово для того, чтобы сосредоточиться на вещах, которые обычно не имеют фокуса, например, div. Спасибо, Дэвид! – Cordial