2017-02-05 5 views
0

Grundlegende Frage. Wenn ich einen Eventlistener wie folgt erstellen und der Funktion den Parameter e geben, was ist e? Wenn ich es richtig verstehe, ist es nur der Name des Ereignisobjekts?Funktionsparameter in addEventListener

document.getElementById('theId').addEventListener('submit', function(e) { 
    e.preventDefault(); 
}) 

Was ist dann mit diesem Beispiel? Erstellt das Ereignis in diesem Fall ein Objekt ohne Namen?

document.getElementById("myBtn").addEventListener('submit', function(){ 
    alert("Hello World!"); 
}); 

Antwort

2

Parameter e würde das Ereignis sein, das passiert, und ja e ist nur ein Name. Sie können ihm einen beliebigen Namen geben.

Ereignisse haben ihre eigenen Eigenschaften und einer von ihnen ist "type", so dass Sie wissen können, welches Ereignis passiert ist. In diesem Beispiel ist der Typ "klick", da wir genau darauf achten.

Nehmen Blick auf dieses Beispiel

document.addEventListener("click", function(myEvent){ 
 
    console.log(myEvent); 
 
});
<p>Click anywhere.</p>

2

Wenn das Ereignis ‚Senden‘ ausgelöst wird, wird die gegebene Funktion mit einem Ereignis-Objekt als erstes Argument genannt.

Sie können es nennen, wie Sie

document.getElementById("myBtn").addEventListener('submit', function(someEvent){ 
    someEvent.preventDefault(); 
}); 

mögen Wenn Sie den Parameter einen Namen nicht geben, können Sie immer noch darauf zugreifen über die Argumente widersprechen.

document.getElementById("myBtn").addEventListener('submit', function(){ 
    arguments[0].preventDefault(); 
}); 

Es ist wie ein Array verhält, aber Funktionen wie arguments.pop nicht

Weitere Informationen zu den Argumenten unterstützen Objekt here