2010-09-23 16 views
23

jak mogę zmienić fokus na konkretny div po każdym zdarzeniu poprzez jquery?zmienić fokus na konkretny div

+0

Cóż można użyć: '$ ('# element'). Focus()' ale nie jestem zbyt pewien co masz na myśli, ponieważ nie będzie to miało żadnego wpływu na DIV. Nie możesz "skupić" div naprawdę ... nic nie robi. Co próbujesz osiągnąć? –

Odpowiedz

59

Aby dokonać ogniskowania div, musi on mieć atrybut tabindex.

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

Następnie można ustawić ostrość za pomocą np.

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

Jest dobrze z IE i Chrome. Nie działa w Firefox. Co mogę zrobić? –

+0

[Te dane] (http://nemisj.com/focusable/) wydaje się wskazywać, że powinien działać w FF. Czy na pewno nie jest to problem z wyświetlaniem? – sje397

+0

@Loganphp - testowałem Firefoksa 3.6.8 przy użyciu [tego przykładu] (http://jsfiddle.net/SNXk2/) i działało dobrze. – sje397

6

Zastosowanie

$ (okno) .scrollTop()

To będzie przewijać okno do pozycji.

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

fajny. Masz pomysł, jak obliczyć rozmiar okna i odjąć 45% tej kwoty, aby kursor przewijania znalazł się gdzieś w środku? – Aurovrata

+0

znalazł odpowiedź [tutaj] (https://stackoverflow.com/questions/4952533/jquery-position-div-in-middle-of-page#answer-4952569) :) – Aurovrata

Powiązane problemy