2012-05-15 3 views
1

Я пытаюсь определить, почему-то, как это не работает:Trigger щелчок при обработке события фокуса (JQuery)

$('a').focus(function() { 
    $(this).click(); 
}); 

фона:

Я пытаюсь создать форму в котором табуляция к различным элементам (например, текстовые поля и т. д.) будет приводить ссылки на привязки в div, так что соответствующий текст прокручивается в виде по мере заполнения формы.

Есть ли лучший способ сделать это?

+0

Я думаю, что это политика безопасности, нет? Это хороший ресурс http://stackoverflow.com/questions/1694595/can-i-call-jquery-click-to-follow-an-a-link-if-i-havent-bound-an-event-hand – CambridgeMike

+0

Вы посмотрели плагин jQuery ScrollTo? – blu

ответ

0
$('yourInput').on('focus', function(){ 
     $('yourAnchor').trigger('click'); 
}); 

должен работать нормально, однако вы, скорее всего, потеряете фокус на поле ввода, поскольку новый элемент был «нажат». Я бы рекомендовал использовать плагин jQuery scrollTo. Это позволит вам сделать что-то вроде этого:

$('yourInput').on('focus', function(){ 
     $('messageArea').scrollTo('yourAnchor'); 
}); 

Это скроллинг происходит в хорошей анимационной моде и без запуска браузера событий.

По причине того, что код, который вы опубликовали, может быть неудачным, заключается в том, что 1. привязки не всегда имеют событие фокусировки, 2. щелкнув по нему сразу после того, как фокусировка может быть избыточной и не вызывает изменения, которые вы ищете.

+0

Плагин scrollTo прекрасно работает для меня. Благодаря! –

Смежные вопросы