naja es gibt Events in dem Falle nehmen wir uns die Eventhandler für die Tastatur. Wenn nun eben eine Taste gedrückt wird ist es keydown , hältst die Taste keypress und lässt sie los keyup.
Die kleine Hilfsfunktion ist dazu da um die Unterschiede zwischen dem IE und den anderen Browsern halt in einer Funktion zu haben ist erstmal weniger wichtig
.
IE brauch eben die Methode HTMLElement.attachEvent(event type,callback)
die anderen benutzen dann HTMLElement.addEventListener(event typ,callback, und Event Bubbling)
false bedeutet hier das der Event von oben nach unten sickert , musst mal lesen bei Event Bubbeling , der IE kennt nur eine Richtung und die ist von oben nach unten.
Der nächste Unterschied wäre , IE brauch den Event String so , onkeydown , onkeypress etc.
Alle anderen wollen aber keydown und keypress.
Die Funktion macht also erstmal nix anderes als nen Event zu regestrieren und dann noch den Event richtig anzulegen. Also für den IE kommt halt ein on davor wenn man nur keyup übergeben hat.
Und umgedreht , hat man onkeyup übergeben wird das on rausgeworfen für alle anderen Browser .
Dann noch die Events richtig belegt und eine Funktion angegeben die den Event auffangen soll. In meinen Fall war das nun getChars(evt).
evt ist im dem Falle ein Event Objekt , welches automatisch übergeben wurde durch den Event handler.Im IE natürlich nicht da wäre es dann window.event.
Das var e = evt || window.event ; ist somit eine kurz schreibweise ist die variable evt belegt ? nein dann prüfe window.event ab.
nun wollen wir das auzulösende Element haben , also in dem Falle wäre es das input feld wo der Event drauf liegt.
IE wäre halt e.srcElement und andere Browser e.target.
Dann haben wir sozusagen das Inputfeld zur Hand und mit value holen wir den aktuellen Wert raus.
Kann man hier auch nochmal gut nachlesen :
http://www.quirksmode.org/js/events_properties.html
MfG ich hoffe ich konnte es ein wenig erklären