DataFox
Erfahrenes Mitglied
Hey Leute
ich werde noch total bekloppt. Ich habe ein Formular gebaut, in dem auf jedem input-element ein onkeyup-Event registriert ist. Wenn der Benutzer die Pfeiltaste nach oben oder unten betätigt, gelangt er zum nächsten Formulareingabefeld. Hat einen guten Grund warum ich das so mache, und nicht mit Tab!
Im Opera passiert nun was ganz blödes: Der scrollt hoch! Im Prinzip die gleiche Aktion die passiert, wenn man im Opera normal die Pfeiltaste nach oben oder unten benutzt.
Ich kann zwar auf document-ebene dieses "fehlverhalten" unterbinden, nicht aber wenn die Pfeiltaste in einem INPUT-Feld gedrückt wurde!!
Kurios: Der scrollt nur hoch. Wenn ich die Pfeiltaste nach unten drücke, scrollt der nicht runter. Opera scheint einen fiesen Bug zu haben.
Ich habe schon alles probiert, mit return false; bei onkeyup, onkeydown, onkeypress. direkt am INPUT registriert, oder am document. oder beides. Nichts hilft! Wie kann ich verhindern, dass das Browserfenster im Opera hoch scrollt, wenn ich die Pfeiltaste in einem Input-Feld nach oben drücke?
thx
ich werde noch total bekloppt. Ich habe ein Formular gebaut, in dem auf jedem input-element ein onkeyup-Event registriert ist. Wenn der Benutzer die Pfeiltaste nach oben oder unten betätigt, gelangt er zum nächsten Formulareingabefeld. Hat einen guten Grund warum ich das so mache, und nicht mit Tab!
Im Opera passiert nun was ganz blödes: Der scrollt hoch! Im Prinzip die gleiche Aktion die passiert, wenn man im Opera normal die Pfeiltaste nach oben oder unten benutzt.
Ich kann zwar auf document-ebene dieses "fehlverhalten" unterbinden, nicht aber wenn die Pfeiltaste in einem INPUT-Feld gedrückt wurde!!
Code:
function handleKeyDown(e) {
if(!e) e = window.event;
var code;
if (e.keyCode) code = e.keyCode; // IE
if (e.which) code = e.which; // andere Browser
if(code == 38) {
if(e.preventDefault) {
e.preventDefault();
}
if(e.stopPropagation) {
e.stopPropagation();
}
return false;
}
}
if (document.addEventListener) {
document.addEventListener("keypress", handleKeyDown, false);
} else {
document.attachEvent("onkeypress", handleKeyDown);
}
Kurios: Der scrollt nur hoch. Wenn ich die Pfeiltaste nach unten drücke, scrollt der nicht runter. Opera scheint einen fiesen Bug zu haben.
Ich habe schon alles probiert, mit return false; bei onkeyup, onkeydown, onkeypress. direkt am INPUT registriert, oder am document. oder beides. Nichts hilft! Wie kann ich verhindern, dass das Browserfenster im Opera hoch scrollt, wenn ich die Pfeiltaste in einem Input-Feld nach oben drücke?
thx
Zuletzt bearbeitet: