2012-06-14 3 views
10

Ich möchte den Fokus auf bestimmte Div mit jquery oder Javascript setzen. Ich habe gerade verwendet document.getElementById("pack_0").focus(); in diesem 'pack_0' ist meine Div-ID, aber es funktioniert nicht. Ich bemerke, dass '#' bereits in meiner URL wegen einiger Popup-Codierung hinzugefügt wurde, so ist meine URL 'http: // localhost/website/book #'Wie setze ich den Fokus auf ein Div mit Javascript oder jquery, wenn # bereits in der URL hinzugefügt wurde?

Also, kann mir jemand helfen, für die Kraft voll auf konzentrieren div wenn # in URL?

Vielen Dank im Voraus.

+0

Was genau meinen Sie mit * den Fokus auf div *? – VisioN

Antwort

23

Von der Frage, ich denke, was Sie eigentlich mit "Focus the div" meinen, ist "ändern Sie die vertikale Scroll-Position des Fensters, so dass das Div sichtbar ist". Wenn das der Fall ist, können Sie das folgende Bit von jQuery-Code verwenden:

$(window).scrollTop($('#pack_0').offset().top); 
+1

danke es funktioniert gut –

+0

Es funktioniert für mich zu – Linto

+0

behoben das Client-Problem in 2 Minuten. Vielen Dank – Rajashekhar

6

Anthony Grist der Annahme ist in Ihrem Fall wahrscheinlich richtig. Es kann jedoch anderen helfen, die zu diesem Thema suchen, zu wissen, dass, wenn das gewünschte Objekt von Fokus ein DIV ist, dieser DIV einen Tabindex gesetzt haben sollte, z. B. tabindex = "9999". Andernfalls weisen die meisten Browser den Fokus nicht zu.

+0

Vielen Dank SOOOO viel für dieses :) Ich fragte mich, warum es nicht für wie 3 Stunden jetzt arbeitete .... – KevinG

3

Fokus setzen definieren wir müssen zuerst tabindex für bestimmte div wie wie unten

<div class="leftbar-btn-module" tabindex="-1">'Content'</div> 

Und jquery div ein setzen konzentrieren

jQuery(".leftbar-btn-module").attr("tabindex",-1).focus();