webForumDet fria alternativet

window.Event funktion fungerar inte i IE8?

2 svar · 371 visningar · startad av zino

zinoMedlem sedan jan. 200247 inlägg
#1

Hej! Följande skript fungerar i tidigare versioner av IE, men inte i IE8. Vad behöver jag justera? Har inte lyckats hitta någon relevant information.

Koden är gör att när jag har en lång lista av tex filer och klickar på bokstaven K på tangentbordet så hoppar listan fram till det filnamn som börjar på K.

    function keyJumpNext(e) {
      var key = (window.Event) ? e.which : e.keyCode;
      var keyChar = String.fromCharCode(key);
      anchorLink(keyChar);
    }
    function anchorLink(anchorName) {
      self.location.hash = anchorName;
      return;
    }
    if (window.Event) {
      document.captureEvents(Event.KEYDOWN);
      document.onkeydown = function(event) {
        return keyJumpNext(event);
      }
    } else {
      document.onkeydown = function() { 
        return keyJumpNext(event); 
      } 
    }

Jag antar att det är någonting som måste definieras ytterligare?
Tack på förhand för all hjälp. :)

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2
  1. window.event (Litet e)
  2. document.captureEvents är gammal Netscape-kod som du bör undvika, särskilt i ett block som bara kmmer köras i IE. Notera att det Event du ser i t ex Event.KEYDOWN hör till samma gamla Netscape-kod, och är helt skilt från IE's window.event.
zinoMedlem sedan jan. 200247 inlägg
#3

Tack!

Tack så mycket. Det fungerar med detta:

    function keyJumpNext(e) {
      var key = event.keyCode;
      var keyChar = String.fromCharCode(key);
      anchorLink(keyChar);
    }
    function anchorLink(anchorName) {
      self.location.hash = anchorName;
      return;
    }
    document.onkeydown = keyJumpNext
133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)