JavaScript von Null Cross-Browser-Ereignisbindung

In Kapitel fünf dieser Serie sind wir in die schlammige Welt der Event-Hörer gesprungen. In dieser Episode sind wir nur nass geworden; Heute gehen wir jedoch einen Schritt weiter und setzen eine weitaus effizientere Lösung um. Auf dem Weg lernen wir eine Fülle neuer Techniken.


Full Screencast



Unser endgültiger Code

 var addEvent = (Funktion (Fenster, Dokument) if (document.addEventListener) Rückkehrfunktion (elem, type, cb) if ((elem &&! elem.length) || elem === window) elem.addEventListener (type, cb, false); else if (elem && elem.length) var len = elem.length; for (var i = 0; i < len; i++ )  addEvent( elem[i], type, cb );   ;  else if ( document.attachEvent )  return function ( elem, type, cb )  if ( (elem && !elem.length) || elem === window )  elem.attachEvent( 'on' + type, function()  return cb.call(elem, window.event)  );  else if ( elem.length )  var len = elem.length; for ( var i = 0; i < len; i++ )  addEvent( elem[i], type, cb );   ;  )( this, document ); // Example Usage var lis = document.getElementsByTagName('li'); addEvent( window, 'click', function()  this.style.border = '1px solid red'; );

Bitte beachten Sie, dass dieser Code aufgrund von hervorragendem Feedback im Kommentarbereich etwas überarbeitet wurde.