2010-02-26 19 views
12

Ich habe ein Problem, dass ich nicht einmal sicher bin, nach was zu suchen, um zu beheben. Wenn ich die Leertaste drücke, bewegt sich meine gesamte Seite nach oben (scrollt nach unten): Ich möchte nicht, dass das passiert. Mein body-Tag ist auf overflow:hidden gestylt, wenn das etwas damit zu tun hat, also hat die Seite keine Bildlaufleisten. Ich bin normalerweise ziemlich gut darin, die vorbereitenden Techniken zur Fehlersuche auszuführen, aber in diesem Fall weiß ich nicht einmal, wo ich anfangen soll. Wie kann ich dieses Verhalten stoppen?Drücken der Leertaste scrollt die Seite nach unten?

Zusätzliche Informationen: Ich bin mit jQuery 1.4.2

+3

Es ist Standardverhalten in Firefox und vielleicht auch einige andere Browser. Wenn Sie eine Javascript-Bibliothek verwenden, könnte ich eine Möglichkeit vorschlagen, dies zu überschreiben ... bist du? –

+1

Dies ist eine integrierte Funktion (zumindest in IE8, Firefox, Chrome, Safari und Opera), um Benutzern das Scrollen nach unten zu ermöglichen, ohne die Maus zu berühren. –

+5

Nur ein Wort der Warnung: Ändern eines Browsers erwartet Verhalten, nur weil Sie nicht wollen, dass es so auf Ihrer Website funktioniert könnte dazu führen, dass die Leute sich beschweren. –

Antwort

18

Sofern Sie die keypress essen dies ist das erwartete Verhalten in den meisten Browsern. Ich benutze es die ganze Zeit und ich werde extrem genervt, wenn es auf einer Seite nicht funktioniert.

Aber wenn man den Schlüssel zu essen ...

window.onkeydown = function(e) { 
    return !(e.keyCode == 32); 
}; 
2

Das Verhalten, das Sie beschreiben, ist ziemlich Standard. Wenn Sie Inhalte erstellen, die größer als die Seite sind, warum verstecken Sie dann etwas davon?

7

Es ist nicht genug, nur verstecken der Überlauf; Sie müssen es tatsächlich nicht Überlauf machen. Selbst wenn Sie das Verhalten deaktivieren könnten (indem Sie den Tastendruck verwenden und den Fokus in einen anderen Container setzen), kann der Benutzer immer noch über die Tastatur blättern, indem er Text auf der Seite durch Ziehen auswählt, die mittlere Maustaste gedrückt hält usw. .. Es liegt wirklich an ihrem Browser, und solange der Inhalt technisch noch sichtbar ist, werden sie wahrscheinlich eine Möglichkeit haben, es in Sicht zu scrollen.

Zeit, Ihr Layout zu überdenken.

Verwandte Themen