Heim > Web-Frontend > js-Tutorial > Hauptteil

Ausführliche Erklärung zur Verwendung der JavaScript-Ereignisbindung

高洛峰
Freigeben: 2016-11-01 12:57:59
Original
999 Leute haben es durchsucht

Da HTML von oben nach unten geladen wird, fügen wir normalerweise, wenn wir eine Javascript-Datei in den Kopfbereich einfügen, das window.onload-Ereignis am Anfang des Javascripts ein, um Fehler bei DOM-Vorgängen beim Laden des Dokuments zu verhindern . . Wenn mehrere Javascript-Dateien vorhanden sind, ist es sehr wahrscheinlich, dass mehrere window.onload-Ereignisse auftreten, aber am Ende funktioniert nur eines. Zu diesem Zeitpunkt muss die Ereignisbindung verwendet werden, um dieses Problem zu lösen.

IE-Modus
attachEvent(Ereignisname, Funktion), Ereignisverarbeitungsfunktion binden
detachEvent(Ereignisname, Funktion), unbind

DOM-Modus
addEventListener (Ereignisname , Funktion, Erfassung)
removeEventListener(Ereignisname, Funktion, Erfassung)

Das Ergebnis der Ausführung dieses js-Codes ist, dass b angezeigt wird, weil zwei oBtn-Klickereignisse vorhanden sind, aber nur eines ausgeführt wird. Das letzte Erstens spiegelt dieses Mal die Bedeutung der Ereignisbindung wider.

Wenn Sie die Ereignisbindung verwenden, werden beide Klickereignisse ausgeführt, die Reihenfolge der Ausführung ist jedoch in verschiedenen Browsern unterschiedlich. Im IE wird es von unten nach oben ausgeführt, während es in anderen Browsern von oben nach unten ausgeführt wird. Aufgrund der Besonderheit von Alert können wir jedoch im Grunde keinen Unterschied erkennen Einige Leute haben strenge Zeitanforderungen. Sie müssen bei der Verwendung von Ereignissen dennoch aufpassen. In einem früheren Artikel führte beispielsweise der geringfügige Zeitunterschied zwischen setInterval im Bildkarussell schließlich zu einem Scroll-Chaos. Bildkarussell-Domo basierend auf nativem Javascript

Organisieren Sie unseren Code schließlich in Funktionen, um die spätere Verwendung zu erleichtern

function myAddEvent(obj, ev, fn)
{
  if(obj.attachEvent)
  {
    obj.attachEvent('on'+ev, fn);
  }
  else
  {
    obj.addEventListener(ev, fn, false);
  }
}
Nach dem Login kopieren

Wenn Sie zu diesem Zeitpunkt mehrere window.onload-Ereignisse verwenden müssen, reicht es eigentlich nur aus Verwenden Mehrere oBtn.onclick-Ereignisse reichen fast aus. Rufen Sie die Funktion einfach wie folgt auf.

myAddEvent(window,'load',function ()
{
  alert('a');
});
myAddEvent(window,'load',function ()
{
  alert('b');
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage