Verwendung von $('#myDiv').click(function(){
es besser da es dem Standardmodell der Ereignisregistrierung folgt. (jQuery intern utiliza addEventListener
y attachEvent
).
Grundsätzlich ist die Registrierung eines Ereignisses in moderne Art ist die unauffällig Art und Weise der Behandlung von Ereignissen. Um mehr als einen Ereignis-Listener für das Ziel zu registrieren, können Sie auch addEventListener()
für dasselbe Ziel.
var myEl = document.getElementById('myelement');
myEl.addEventListener('click', function() {
alert('Hello world');
}, false);
myEl.addEventListener('click', function() {
alert('Hello world again!!!');
}, false);
http://jsfiddle.net/aj55x/1/
Warum addEventListener verwenden? (Von MDN)
addEventListener ist der Weg, um eine Ereignisliste zu registrieren im W3C DOM. Seine Vorteile sind wie folgt:
- Es ermöglicht das Hinzufügen von mehr als einem Handler für ein Ereignis. Dies ist besonders nützlich für DHTML-Bibliotheken oder Mozilla-Erweiterungen, die die auch dann gut funktionieren müssen, wenn andere Bibliotheken/Erweiterungen verwendet werden.
- Es gibt Ihnen eine feinere Kontrolle über die Phase, in der der Hörer aktiviert wird (Capturing vs. Bubbling)
- Es funktioniert mit jedem DOM-Element, nicht nur mit HTML-Elementen.
Mehr über die Anmeldung zu modernen Veranstaltungen -> http://www.quirksmode.org/js/events_advanced.html
Andere Methoden wie die Einstellung der HTML-Attribute , Beispiel:
<button onclick="alert('Hello world!')">
Oder DOM-Element-Eigenschaften , Beispiel:
myEl.onclick = function(event){alert('Hello world');};
sind alt und können leicht überschrieben werden.
HTML-Attribut sollte vermieden werden, da es das Markup größer und weniger lesbar macht. Inhaltliche/strukturelle und verhaltensbezogene Aspekte sind nicht klar voneinander getrennt, was das Auffinden von Fehlern erschwert.
Das Problem mit dem DOM-Element-Eigenschaften Methode ist, dass pro Ereignis nur ein Ereignisbehandler an ein Element gebunden werden kann.
Mehr über die traditionelle Ereignisbehandlung -> http://www.quirksmode.org/js/events_tradmod.html
MDN-Referenz: https://developer.mozilla.org/en-US/docs/DOM/event