jQuery: focus() beim Laden der Seite

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

jQuery: focus() beim Laden der Seite

Beitrag von leopittoni »

Hallo,

Ich versuche mit jQuery mobile beim Laden einer Seite den Fokus in ein Textfeld zu setzen.
Das Funktioniert mit dem unten genannten Beispiel auch, sobald man aber durch einen Link auf eine andere Seite geht und dann wieder zurück auf diese, funktioniert das focus() nicht mehr. Erst nach einem manuellen Page "Reload" geht es wieder.

Hat jemand eine Idee wieso?

Danke!
Léo

Code: Alles auswählen

$("#searchpage").bind("pageshow", function(e) {

        $("#search_input").focus();
    })
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: jQuery: focus() beim Laden der Seite

Beitrag von BNa »

Du solltest das onload ausführen

Code: Alles auswählen

$(document).ready(function() {
// <![CDATA[
var whazup = 'ma gugge';
alert(whazup);
// ]]>
}); 
Und wenns ganz hart kommt als Ajax Loop, dann sind auch Fenster/Tabwechsel egal.
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Re: jQuery: focus() beim Laden der Seite

Beitrag von leopittoni »

$(document).ready darf bei jQuery mobile eben nicht verwendet werden, bzw. fired nicht bei jedem Seitenaufruf...
Eine andere Idee?

Danke!
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Re: jQuery: focus() beim Laden der Seite

Beitrag von cYbercOsmOnauT »

Wie wäre es da einfach jQ aussen vor zu lassen und es mit simplem JS zu lösen?

Code: Alles auswählen

<textarea id="meinTextfeld"></textarea>
<script type="text/javascript">
document.getElementById('meinTextfeld').focus();
</script>
Wichtig: Das JS muss unterhalb des Feldes stehen im Quellcode. Egal wo, aber unbedingt unterhalb!
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: jQuery: focus() beim Laden der Seite

Beitrag von BNa »

Eben, ganz normales, klassisches JS.
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Re: jQuery: focus() beim Laden der Seite

Beitrag von cYbercOsmOnauT »

Ich muss aber zugeben, dass ich selber sehr viel mit jQ mache, aber solche Sachen sind mit purem JS besser gelöst. Schon allein weil man bei jQ sicher gehen muss, dass es geladen ist und eine onload Funktion kann bei einer lahmen Verbindung ziemlich lange brauchen bis das Event feuert.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Re: jQuery: focus() beim Laden der Seite

Beitrag von leopittoni »

cYbercOsmOnauT hat geschrieben:Wie wäre es da einfach jQ aussen vor zu lassen und es mit simplem JS zu lösen?

Code: Alles auswählen

<textarea id="meinTextfeld"></textarea>
<script type="text/javascript">
document.getElementById('meinTextfeld').focus();
</script>
Wichtig: Das JS muss unterhalb des Feldes stehen im Quellcode. Egal wo, aber unbedingt unterhalb!
Das funktioniert leider nicht. Kein Fokus auf das entsprechende Feld mit der ID.

$(document).ready funktioniert auch nur einmal, nach dem Link auf eine andere Seite und wieder zurück feuert das Event nicht mehr....
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Re: jQuery: focus() beim Laden der Seite

Beitrag von cYbercOsmOnauT »

Kann ich den Quellcode irgendwo einsehen?
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Antworten

Zurück zu „Coding & Technik“