Gernot Back: Scrollen mit Pfeiltasten verhindern

Beitrag lesen

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

0 53

Scrollen mit Pfeiltasten verhindern

Mike
  • javascript
  1. -3

    wegen dem Namen...

    Mike
    • zu diesem forum
    1. -2
      Mike
      1. 0
        Mike der als letzter kam...
        1. 2
          O'Brien
        2. 0
          Gernot Back
          1. 0
            Gunnar Bittersmann
            1. 0
              Gunnar Bittersmann
              1. 0
                Lachgas
                1. 0
                  Gunnar Bittersmann
                2. 0
                  Swen Wacker
                  1. 0
                    Gernot Back
                    1. 0
                      Gernot Back
                    2. 0
                      Swen Wacker
                      1. 0
                        Gernot Back
                        1. 0
                          Swen Wacker
                  2. 0
                    Lachgas
                    1. 0
                      Swen Wacker
                      1. 0

                        weißte?

                        Gernot Back
                        1. 0
                          Swen Wacker
          2. 0
            Mike
        3. 0
          Mike
    2. 0
      Markus
      1. 0
        Mike
    3. 0

      "des Namens wegen", Ihr Grammatik-Krüppel!

      Bio
      1. 0
        Orlando
        1. 0
          Orlando
          1. 0
            Bio
      2. 0
        Mike
        1. 0
          Gunnar Bittersmann
    4. 0
      Mike©
    5. 0
      Mike
      1. 0
        Ashura
        1. 0
          O'Brien
          1. 0
            Ashura
            1. 0
              O'Brien
              1. 0
                Ashura
                1. 0
                  O'Brien
                  1. 0
                    Ashura
                    1. 0
                      O'Brien
                      1. 0
                        Ashura
                        1. 0
                          Mike©
  2. 0
    Gernot Back
  3. 0
    Mike, der die Frage gestellt hat
    1. 0
      Gernot Back
      1. 0
        Mike_2701
        1. 0
          Gernot Back
          1. 0
            Mike_2701
            1. 0
              Gernot Back
              1. 0
                Mike_2701
                1. 1
                  Struppi
        2. 0
          Gernot Back
  4. 0
    Christian Seiler