2010-09-23 3 views
23

как я могу сменить фокус на конкретный div после любого события через jquery?изменить фокус в частности div

+0

Ну, вы можете использовать: '$ ('# element'). Focus()', но я не слишком уверен, что вы имеете в виду, потому что это не повлияет на DIV. Вы не можете «сфокусировать» div действительно ... он ничего не делает. Чего вы пытаетесь достичь? –

ответ

59

Чтобы сделать div привлекательным, он должен иметь атрибут tabindex.

<div id='test' tabindex='1'></div> 

Затем вы можете сфокусироваться, например.

$('#something').click(function() { 
    $('#test').focus(); 
}); 
+0

Все в порядке с IE и Chrome.It не работает в Firefox. Что я могу сделать? – 2010-09-23 11:02:14

+0

[Эти данные] (http://nemisj.com/focusable/), похоже, указывает, что он должен работать в FF. Вы уверены, что это не проблема с дисплеем? – sje397

+0

@Loganphp - я протестировал Firefox 3.6.8, используя [этот пример] (http://jsfiddle.net/SNXk2/), и он отлично работал. – sje397

6

Использование

$ (окно) .scrollTop()

Это будет прокручивать окно к элементу.

var scrollPos = $(".focusme").offset().top; 
$(window).scrollTop(scrollPos); 
+0

хороший. Любая идея, как вычислить размер окна и вычесть 45% от этой суммы, так что прокрутка pos заканчивается где-то в центре? – Aurovrata

+0

нашел ответ [здесь] (https://stackoverflow.com/questions/4952533/jquery-position-div-in-middle-of-page#answer-4952569) :) – Aurovrata