asdfdsa: Pfeiltasten: hoch/runter werden nicht ausgewertet

  
function keyPressed(event){  
            event = event || window.event;  
  
          	if(event.keyCode == 37) //left  
              key = 0;  
            else if(event.keyCode == 38) //up  
              key = 1;  
            else if(event.keyCode == 39) //right  
              key = 2;  
          }  

Code 38 erscheint nie. Stattdessen wird die Seite hochgescrollt.

  1. Hallo,

    function keyPressed(event){

    event = event || window.event;

    if(event.keyCode == 37) //left
                  key = 0;
                else if(event.keyCode == 38) //up
                  key = 1;
                else if(event.keyCode == 39) //right
                  key = 2;
              }

    
    >   
    > Code 38 erscheint nie. Stattdessen wird die Seite hochgescrollt.  
      
    das liegt daran, dass der Browser einige Tasten selbst "verarbeitet" und sie nicht an Scripts durchreicht. Vermutlich hättest du mit Cursor Down dasselbe Phänomen, ebenso wie mit PgUp und PgDn. Die Funktionstasten, oder bestimmte Ctrl-Kombinationen sind auch problematisch. Das Script bekommt nur, was der Browser nicht selbst für eigene Belange verwertet.  
      
    Die Links- und Rechts-Tasten wird dein Script auch nicht mehr "sehen", sobald horizontales Scrollen möglich ist. Dann sind sie nämlich dafür reserviert.  
      
    So long,  
     Martin  
    
    -- 
    Die junge Ehefrau weint sich bei ihrer Mutter aus:  
    Er hat gesagt, ich soll mich zum Teufel scheren! - Und da kommst du ausgerechnet zu mir?!  
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    
    1. Die Links- und Rechts-Tasten wird dein Script auch nicht mehr "sehen", sobald horizontales Scrollen möglich ist. Dann sind sie nämlich dafür reserviert.

      So long,
      Martin

      Ich habe es jetzt mit a, w und d probiert. Das funktioniert überhaupt nicht.

      1. Ich habe es jetzt mit a, w und d probiert. Das funktioniert überhaupt nicht.

        Vielleicht bindest du den Handler einfach falsch ein?
        Gönne uns doch mal einen etwas umfangreicheren Einblick in deinen Quelltext.

        1. Ich habe es jetzt mit a, w und d probiert. Das funktioniert überhaupt nicht.

          Vielleicht bindest du den Handler einfach falsch ein?
          Gönne uns doch mal einen etwas umfangreicheren Einblick in deinen Quelltext.

          Kann eigentlich nicht sein, denn die Rechts- und Linkspfeiltaste funktionieren.

          Mehr Code:

            
                    function keyPressed(event){  
                      event = event || window.event;  
            
                    	if(event.keyCode == 65) //left (a)  
                        key = 0;  
                      else if(event.keyCode == 87) //up (w)  
                        key = 1;  
                      else if(event.keyCode == 68) //right (d)  
                        key = 2;  
                    }  
            
                    document.onkeypress = keyPressed;
          
          1. <http://de.selfhtml.org/javascript/objekte/event.htm#key_code@title=Über keyCode>
            <http://de.selfhtml.org/javascript/objekte/event.htm#which@title=Über which>
            kleine Stütze

            Mehr Code:

            function keyPressed(event){
                        event = event || window.event;

            if(event.keyCode == 65) //left (a)
                          key = 0;
                        else if(event.keyCode == 87) //up (w)
                          key = 1;
                        else if(event.keyCode == 68) //right (d)
                          key = 2;
                      }

            document.onkeypress = keyPressed;

    2. das liegt daran, dass der Browser einige Tasten selbst "verarbeitet" und sie nicht an Scripts durchreicht.

      Das ist Unsinn? Woher hast diese Information?

  2. Hi,

    Code 38 erscheint nie. Stattdessen wird die Seite hochgescrollt.

    Mal versucht die eigentliche Aktions des Events zu unterbinden? (event.preventDefault)

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?