Tobias Knoll: Positionsbestimmung des "Cursors"

Beitrag lesen

Hallo,
ich versuche gerade einen Internetexplorer mittels Tastatur bedienbar zu machen, habe aber keine "TAB"-Taste. Auch kann ich nur Scripts als Programmierung verwenden, kein PHP, CGI, etc.
Ich habe Scripte geschrieben, die es mir ermöglichen auf Tastendruck um X Anker vor- und rückwärts zu springen, brauche aber jetzt noch eine Möglichkeit den Anker zu bestimmen, auf dem ich gerade stehe.

Hat da jemand eine Idee?

Hier auch noch als Verdeutlichung das Script, mit dem ich um 1 bzw. 10 Anker vor-/rückwärts springen kann:

//*****************************************************
// Eventhandling für Positionierung auf Links       ***
//*****************************************************
for (var i=0; i <=Tasten.length; i++)
{
  if (event.keyCode == Tasten[i])
  {
//  alert("Anzahl der Links: "+document.links.length)
     switch (i)
     {
     //Tastenkeycodes -> Zeichen "9" bedeutet Tastenfunktion umschalten
     case 0:
       if (Umschalt<1) Umschalt = 1;
       else Umschalt=0;
     break;

//Tastenkeycodes -> Zeichen "u" bedeutet 1 Anker aufwärts (entspricht Pfeil nach oben)
     case 1:
       if (Umschalt<1)
       {
       ankerpos = ankerpos -1;
         if (ankerpos<0) ankerpos = 0;
       document.links[ankerpos].focus();
       }
     break;

//Tastenkeycodes -> Zeichen "v" bedeutet 1 Anker abwärts (entspricht Pfeil nach unten)
     case 2:
       if (Umschalt<1)
       {
       ankerpos = ankerpos +1;
         if (ankerpos>=document.links.length) ankerpos = document.links.length-1;
       document.links[ankerpos].focus();
       }
     break;

//Tastenkeycodes -> Zeichen "x" bedeutet 10 Anker aufwärts (entspricht Pfeil nach links)
     case 3:
       if (Umschalt<1)
       {
       ankerpos = ankerpos -max_jump;
         if (ankerpos<0) ankerpos = 0;
       document.links[ankerpos].focus();
       }
     break;

//Tastenkeycodes -> Zeichen "w" bedeutet 10 Anker abwärts (entspricht Pfeil nach rechts)
     case 4:
       if (Umschalt<1)
       {
       ankerpos = ankerpos +max_jump;
         if (ankerpos>=document.links.length) ankerpos = document.links.length-1;
       document.links[ankerpos].focus();
       }
     break;

//Tastenkeycodes -> Zeichen "a" bedeutet rückwärts in history
     case 5:
     history.back()
     break;

//Tastenkeycodes -> Zeichen "b" bedeutet vorwärts in history
     case 6:
     history.forward()
     break;

default:
     break;
     };
  }
}
//alert("Keycode: " + event.keyCode);