molily: Event und Eventhandler

Beitrag lesen

function getNewKeyCode(keyEvent)
{
  if (!keyEvent) { keyEvent = window.event; }

Beim Zugriff auf das Event-Objekt benutzt du eine sinnvolle Objektabfrage, wieso bleibst du nicht bei dem Schema und führt eine »Browserweiche« ein?

if (navigator.appName == "Microsoft Internet Explorer")
  {
   if (keyEvent.keyCode == 122

else
  {   if (navigator.appName == "Netscape")
      {
        if (keyEvent.which == 122) { keyZoom = true; }

Diese »Browsererkennung« ist unnütz. Es gibt nicht nur diese beiden Browser und der Rückschluss über navigator.appName ist unzuverlässig. Wie du selbst siehst, geht es um die Eigenschaften keycode und which. Also fragst du ab, welche davon gesetzt ist und verwendest die gesetzte.

if (keyEvent.which) {
  var key = keyEvent.which;
} else if (keyEvent.keyCode) {
  var key = keyEvent.keyCode;
}

Oder kürzer:

var key = keyEvent.which || keyEvent.keyCode;

Danach einfach:

keyZoom = (key == 122) ? true : false;

http://de.selfhtml.org/javascript/sprache/bedingt.htm#entweder_oder
https://redaktion.selfhtml.org/selfhtml-preview/javascript/browser.html

Mathias