Shortcut in IE/Firefox
    
phoenix24
    
    
      
    
  - javascript
 nicht angemeldet
 nicht angemeldetWenn 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.
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
Firefox klappt jetzt, IE leider nicht. Die Erklärung hat sehr geholfen. Danke!