2010-09-23 23 views
23

Come posso cambiare lo stato attivo in un particolare div dopo un evento tramite jquery?cambia focus in particolare div

+0

Bene, è possibile utilizzare: '$ ('# elemento'). Focus()' ma non sono sicuro di cosa intendi, perché ciò non avrà alcun effetto sui DIV. Non puoi "focalizzare" un div davvero ... non fa nulla. Cosa stai cercando di ottenere? –

risposta

59

Per rendere un div focalizzabile, è necessario un attributo tabindex.

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

Quindi, è possibile mettere a fuoco con es.

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

Va bene con IE e Chrome. Non funziona in Firefox. Cosa posso fare? –

+0

[Questi dati] (http://nemisj.com/focusable/) sembra indicare che dovrebbe funzionare in FF. Sei sicuro che non sia un problema di visualizzazione? – sje397

+0

@Loganphp - Ho provato Firefox 3.6.8 usando [questo esempio] (http://jsfiddle.net/SNXk2/) e ha funzionato bene. – sje397

6

Usa

$ (window) .scrollTop()

Sarà scorrere la finestra alla voce.

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

bello. Qualche idea su come calcolare le dimensioni della finestra e sottrarre il 45% di quella quantità in modo che la posizione di scorrimento finisca da qualche parte nel centro? – Aurovrata

+0

ha trovato la risposta [qui] (https://stackoverflow.com/questions/4952533/jquery-position-div-in-middle-of-page#answer-4952569) :) – Aurovrata

Problemi correlati