phoenix24: Shortcut in IE/Firefox

Wenn Alt + Q gedrückt werden, soll in einem Textfeld "Name" geschrieben werden. Dieser Code funktioniert im Internet Explorer:

if( window.event.altKey && window.event.keyCode == 81 ){
document.form.textfeld.value =  "Name";
}

Folgender Code funktioniert nicht in Firefox:

if( window.event.altKey && window.event.which == 81 ){
document.form.textfeld.value =  "Name";
}

Was muss geändert werden, damit es auch in Firefox funktioniert? Danke.

  1. Hallo phoenix24.

    Wenn Alt + Q gedrückt werden, soll in einem Textfeld "Name" geschrieben werden. Dieser Code funktioniert im Internet Explorer … [jedoch] …  nicht in Firefox:

    if( window.event.altKey && window.event.keyCode == 81 ){
    document.form.textfeld.value =  "Name";
    }

    Das Problem liegt hierbei, dass der IE automatisch Eventobjekte global per window.event verfügbar macht. (Und ausschließlich so.)

    Im Firefox dagegen ist das Eventobjekt genau dort verfügbar, wo es erzeugt wurde. Hier in diesem Fall also wohl am ehesten beim window-Objekt. Ein mögliches Vorgehen könnte also so aussehen:

    window.[ref:self811;javascript/sprache/eventhandler.htm#onkeydown@title=onkeydown] = function(e) { // e = Eventobjekt  
      if (!e) e = window.event; // Für IE  
      
      if (e.altKey && e.keyCode == 81) {  
      
        document.form.textfeld.value = 'Name';  
      
      }  
    }
    

    Einen schönen Freitag noch.

    Gruß, Mathias

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    debian/rules
    1. Firefox klappt jetzt, IE leider nicht. Die Erklärung hat sehr geholfen. Danke!