2016-05-21 10 views
1

den folgenden Code vor:Ereignis globales Objekt in Firefox

<input id="myinput" type="text" size="40" onkeydown="myFunction()"> 

function myFunction() { 
    console.log(event); 
} 

Ereignis ist ein globales Objekt und ist innerhalb des Event-Handler myFunction bekannt. Allerdings gibt Firefox einen Fehler aus: Ereignis ist nicht definiert während Chrome und IE Ausgabe KeyboardEvent {...}. Dies ist eines der verrücktesten Dinge, die ich je getroffen habe. Irgendeine zufriedenstellende Erklärung?

+0

bitte diese versuchen: 'Funktion myFunction (event) {console.log (event);}' ist diese Arbeit? –

+1

"Ereignis" ist eine globale Variable ist eine beschissene IE-Erfindung, die jetzt veraltet ist, aber rückwärtskompatibel in verschiedenen Browsern unterstützt wird. Tu das nicht. Übergeben Sie das Ereignisobjekt explizit durch. – Bergi

Antwort

2

Firefox Keyboard() erwarten Ereignis an die Funktion übergeben Versuchen Sie, diese

<input id="myinput" type="text" size="40" onkeydown="myFunction(event)"> 

function myFunction(event){ 
    if(typeof event === 'undefined') 
    { 
     event = window.event; 
    } 

console.log(event); 

} 
Verwandte Themen