Hallo Mike_2701,
> function welche (e) {
> var e = e || window.event;
> if(window.captureEvents) {
> var taste = e.which;
> } else {
> var taste = e.keyCode;
> }
> if(taste==38 OR taste==40) { //HIER HAB ICH WAS ANGEPASST
> if(e.preventDefault)
> e.preventDefault();
> else
> e.returnValue=false;
> }
> }
> if (window.captureEvents) {
> window.captureEvents(Event.KEYPRESS);
> // auf die eine Zeile vorher (für Netscape 4.X) kommt's nicht an
> window.onkeypress=welche;
> } else {
> document.onkeypress=welche;
> }
Bei mir funktioniert das Script im IE6 und Firefox 1.5 unter Windows XP und unterbindet das Scrollen mittels Pfeiltasten, wenn ich in der Zeile, die du angepasst hast, die doppelte Pipe || statt OR nehme und auf den Event "keydown" statt "keypress" lauschen lasse. Bei Opera 8.5 und Netscape 7.1 wird das Scrollen mittels Pfeiltasten im Steuerblock aber dadurch nicht verhindert.
also:
if (window.captureEvents) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown=welche;
} else {
document.onkeydown=welche;
}
Keypress scheint nur für alphanumerische Tasten zuständig zu sein, zumindest im IE: "Fires when the user presses an alphanumeric key."
vgl.: http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onkeypress.asp
Gruß Gernot