getKeyCode
Mika
- javascript
Hallo Zusammen,
ich habe eine Frage zu:
Ereignis = window.event;
getKeyCode = Ereignis.keyCode;
Damit lässt sich ermitteln welche Taste der Benutzer auf der Tastatur gedrückt hat, als Rückgabe wert erhält man einen numerischen Wert.
wenn ich diese Befehle innerhalb einer Funktion schreibe, funktion es
function jumpToNextField(){
Ereignis = window.event;
getKeyCode = Ereignis.keyCode;
wenn ich es aber außerhalb einer Funktion, also in meinem Fall direkt unterhalb des Tags <script type="text/javascript....
schreibe, erscheint die Fehlermeldung: "Objekt erforderlich"????
kann mir jemand helfen
Gruß Mika
ich habe eine Frage zu:
Ereignis = window.event;
getKeyCode = Ereignis.keyCode;
Das funktioniert nicht in allen Browsern.
wenn ich es aber außerhalb einer Funktion, also in meinem Fall direkt unterhalb des Tags <script type="text/javascript....
Dann ist auch kein Event eingetreten. Hast du dir das Kapitel in selfhtml zu events durchgelesen?
Struppi.
Dann ist auch kein Event eingetreten. Hast du dir das Kapitel in selfhtml zu events durchgelesen?
Ja habe ich, aber ich hab wohl an der völlig falschen Stelle geschaut.
Danke und Sorry für das unnötige Posten
Gruß Mika
Hallo, Mika!
Danke und Sorry für das unnötige Posten
wenn es "unnötig" gewesen wäre, hättest du es wohl nicht getan ;-).
Ereignis = window.event;
getKeyCode = Ereignis.keyCode;
wenn du das so in eine webseite schreibst, weist du nur 2 variablen zu.
"window.event" heist nichts anderes, als "fenster-ereignis". du hast damit aber noch nicht festgelegt, bei welchem ereignis reagiert werden soll. dazu brauchst du die eventhandler (ereignis-verarbeiter), die festlegen, bei WELCHEN ereignissen dein code ausgeführt werden soll.
du wirst ja sicher nicht wollen, dass bei jeder mausbewegung, jedem click, jedem tastendruck und auch noch beim verändern der fenstergrösse per maus, dein code ausgeführt wird? ;-)
deshalb musst du mit den eventhandlern festlegen, bei welchen ereignissen dein code ausgeführt wird und die musst du für das element deiner seite definieren, das auf dieses event (ereignis) reagieren soll, z.b. ein eingabefeld. und damit er nicht sofort beim laden der seite ausgeführt wird, musst du ihn in eine funktion verpacken.
<input id="feld1" src="">
document.getElementById("feld1").onclick = verarbeite;
da verschiedene browser unterschiedliche wege gehen, um diese ereignisse zu übergeben, musst du eine kombilösung verwenden:
function verarbeite (ereignis){
Ereignis = (ereignis) ? ereignis : window.event;
}
bei einigen browsern wird das "ereignis" direkt an die funktion übergeben, bei anderen wird es an "window" gemeldet und muss dort von dir abgeholt werden (window.event).
danach kannst du dann prüfen, was für einen wert das ereignis erzeugt hat:
wert = Ereignis.keyCode;
und abhängig davon dann weitere entscheidungen für die verarbeitung treffen.
freundl. Grüsse aus Berlin, Raik
Hallo,
wenn ich es aber außerhalb einer Funktion, also in meinem Fall direkt unterhalb des Tags <script type="text/javascript....
schreibe, erscheint die Fehlermeldung: "Objekt erforderlich"????
Das Event-Objekt steht logischerweise nur in Event-Handlern zur Verfügung. Wenn kein Event passiert ist und keine Funktion als Handler ausgeführt wird, kannst du auch nicht einfach irgendwo auf das Event-Objekt zugreifen... Das ist das Sinn von Event-Handling: Man verknüpft ein Ereignis an einem Element mit einem Handler, welcher dann aufgerufen wird; und nur darin steht das entsprechende Event-Objekt zur Verfügung.
Was hast du denn genau vor und wo brauchst du welches Event-Objekt?
Mathias