2015-05-22 3 views
1

Я пытался создать очень простой тест с .focus(), для оповещения меня, когда он установлен: http://jsfiddle.net/hensor/h892gf4e/JQuery, фокус-обработчик не работает

<a href="#">Item 1</a> 
<a href="#">Item 2</a> 
<a href="#">Item 3</a> 
$('a').first().focus(function() { 
    alert('Focus on item 1'); 
}); 

Но это никогда вызывает предупреждение. Интересно, почему.

+0

, когда вы хотите событие уволят –

+2

Ваша скрипка, кажется, работает нормально здесь. Обратите внимание, что вы застряли в цикле 'alert()', потому что, когда вы нажимаете элемент 'a', появляется сообщение' alert'. Когда вы очистите «предупреждение», «a» снова будет выделено фокус, так что появится другое «предупреждение» и т. Д. Лучше всего было бы изменить 'alert()' на 'console.log()' –

ответ

1

Ваш код работает.

Однако, если вы хотите вызвать его при загрузке страницы, вам нужно сначала связать событие, а затем запустить его.

$('a').focus(function() { 
    alert('Focus on item 1'); 
}).first().focus(); 

DEMO

+1

Это то, что мне было нужно, извините за неясный вопрос. Я хочу сосредоточиться на загрузке страницы, а затем на вещи. – Henrik