


Detaillierte Einführung in verschiedene Arten von Event-Handlern in js
Ein Ereignis ist eine bestimmte Aktion, die vom Benutzer oder vom Browser selbst ausgeführt wird, z. B. Klicken, Laden und Mouseover sind die Namen von Ereignissen.
Der Ereignisfluss beschreibt die Reihenfolge, in der Ereignisse von der Seite empfangen werden.
Event-Handler sind Funktionen, die auf Ereignisse reagieren. Der Name des Event-Handlers beginnt mit „on“. Der Name des Event-Handlers, der dem Click-Ereignis entspricht, lautet beispielsweise onclick.
Es gibt viele Möglichkeiten, Handler für Ereignisse anzugeben, z. B.: HTML-Ereignishandler, DMO-Ereignishandler der Ebene 0, DOM-Ereignishandler der Ebene 2, IE-Ereignishandler , browserübergreifende Ereignishandler.
(1) HTML-Ereignishandler
Das heißt: Schreiben Sie den Ereignishandler in das entsprechende HTML-Tag.
zB:
<input type="button" value="click me" onclick="alert("hello")" />
Nachteile: ① Es gibt einen Zeitunterschied, wenn der Benutzer das entsprechende Ereignis auslöst, sobald das HTML-Element auf der Seite angezeigt wird, und der Ereignishandler kann möglicherweise nicht ausgeführt werden Bedingungen (z. B. wurde die aufgerufene Funktion nicht analysiert) tritt ein Fehler auf. Beispiel:
<input type="button" value="click me" onclick="message()" />
<script type="text/javascript">function message(){alert("hello world");}</script>
Da sich die aufgerufene Funktion unterhalb der Schaltfläche befindet, tritt ein Fehler auf, wenn auf die Schaltfläche geklickt wird, bevor die Nachrichtenfunktion geladen ist.
②Die Kopplung zwischen HTML- und JS-Code ist zu hoch. Wenn Sie den Ereignishandler ändern möchten, müssen Sie zwei Stellen ändern: HTML-Code und Javascript-Code.
(2) DMO-Level-0-Ereignishandler
eg: var btn=document.getElementById("myBtn"); btn.onclick=function(){alert(this.id)};
Hinweis: Wenn sich dieser Code nach der Schaltfläche befindet, erfolgt möglicherweise eine Zeit lang keine Reaktion, egal wie Sie darauf klicken, denn in diesem code Der Ereignishandler wird vor der Ausführung nicht angegeben.
Der Ereignishandler der DMO-Ebene 0 wird als Methode des Elements betrachtet. Mit anderen Worten: Der Ereignishandler der DMO-Ebene 0 wird im Gültigkeitsbereich des Elements ausgeführt, sodass sich dies im Programm auf das aktuelle Element bezieht. Über diese kann im Event-Handler auf alle Eigenschaften und Methoden des Elements zugegriffen werden.
Auf diese Weise hinzugefügte Ereignishandler werden während der Bubbling-Phase des Ereignisflusses verarbeitet.
Sie können den angegebenen Event-Handler auch löschen. Setzen Sie einfach das Attribut des Event-Handlers auf null.
eg: btn.onclick=null;将处理程序设置为null以后,再点击按钮不会发生任何动作。
(3) Ereignishandler auf DOM2-Ebene
Ereignis auf DOM2-Ebene definiert zwei Methoden zum Angeben und Löschen von Ereignishandlern. Diese beiden Operationen sind: addEventListener() und removeEventListner(). Alle DOM-Knoten enthalten diese beiden Methoden. Sie müssen drei Parameter akzeptieren: den zu verarbeitenden Ereignisnamen, die Verarbeitungsfunktion und den booleschen Wert. Wenn der letzte boolesche Parameter wahr ist, bedeutet dies, dass der Handler in der Erfassungsphase aufgerufen wird. Wenn er falsch ist, bedeutet dies, dass der Ereignishandler in der Bubbling-Phase aufgerufen wird.
Um beispielsweise einen Event-Handler für das Klicken auf eine Schaltfläche hinzuzufügen, können Sie den folgenden Code verwenden:
var btn=document.getElementById("myBtn"); btn.addEventListner("onclick",function(){alert("hello world");false});这里添加的事件处理程序也是依附于元素的的作用域
Der Vorteil der Verwendung von DOM2-Event-Handlern besteht darin, dass Sie mehrere Event-Handler für hinzufügen können das gleiche Element.
例:var btn=getElementById("myBtn"); btn.addEventListner("click",function(){alert(this.id);},flase); btn.addEventListner("click",function(){alert("hello world");},flase);
Ergebnis: Zuerst wird die ID angezeigt, dann „Hallo Welt“.
Über addEventListner() hinzugefügte Ereignishandler können nur über removeEventListner entfernt werden. Die zum Entfernen verwendeten Parameter sind dieselben wie zum Hinzufügen eines Event-Handlers. Noch ein Hinweis: Anonyme Funktionen, die über addEventListner hinzugefügt wurden, können nicht gelöscht werden.
(4) IE-Ereignishandler.
Die Funktionen für das Hinzufügen und Löschen von Event-Handlern sind: attachmentEvent() und detachEvent(); diese beiden Funktionen erhalten die gleichen zwei Parameter: Event-Handler-Name und Event-Handler-Funktion. Da IE nur das Event-Bubbling unterstützt, werden über attachmentEvent hinzugefügte Event-Handler zur Bubbling-Phase hinzugefügt.
例如:var btn=document.getElementById("myBtn"); btn.attachEvent("onclick",function(){alert("hello world");});
IE Bei Verwendung der Methode attachmentEvent ist der Bereich des Event-Handlers der globale Bereich, also entspricht dieser dem Fenster. (Dies ist beim Schreiben von browserübergreifendem Code sehr wichtig.)
Ähnlich wie addEventListner kann die Methode attachmentEvent() auch verwendet werden, um mehrere Ereignishandler zu einem Element hinzuzufügen.
eg: var btn=document.getElementById("myBtn"); btn.attachEvent("onclick",function(){alert("clicked");}); btn.attachEvent("onclick",function(){alert("hello world");});
Es ist zu beachten, dass die Handler für diese Ereignisse in umgekehrter Reihenfolge ausgelöst werden , das heißt, zuerst Popup-Hallo Welt und dann Popup-Klick.
Die Verwendung von detach() wird kurz erwähnt.
(5) Browserübergreifender Ereignishandler
Um Ereignisse browserübergreifend zu verarbeiten, können Sie hauptsächlich zwei Methoden verwenden:
①Zum Isolieren verwenden Durchsuchen Sie die js-Bibliothek, die Unterschiede implementiert.
②Schreiben Sie selbst die am besten geeignete Methode zur Ereignisbehandlung. Hier kommt die Fähigkeitserkennung zum Einsatz, also die Identifizierung der Fähigkeiten des Browsers. Um sicherzustellen, dass der Code unter den meisten Browsern konsistent läuft, konzentrieren Sie sich einfach auf die Bubbling-Phase.
Die Codeschritte lauten wie folgt: Die erste zu erstellende Methode ist addHandler (wird zur Behandlung von browserübergreifenden Kompatibilitätsproblemen verwendet, hier wird kein spezifischer Code angegeben). Seine Aufgabe besteht darin, zu bestimmen, ob die DOM0-Ebene verwendet werden soll Methode oder DOM2, je nach Situation, IE-Methode zum Hinzufügen von Ereignissen. addHandler empfängt 3 Parameter: das zu bearbeitende Element, den Ereignisnamen und die Ereignishandlerfunktion. Diese Methode gehört zu einem Objekt namens EventUtil. Dieses Objekt wird hier verwendet, um Unterschiede zwischen Browsern zu verarbeiten.
Die entsprechende Methode zu addHandler ist removeHandler(), die ebenfalls dieselben Parameter akzeptiert. Die Aufgabe dieses Ereignisses besteht darin, den zuvor hinzugefügten Ereignishandler zu entfernen. Unabhängig davon, wie das Ereignis dem Objekt hinzugefügt wird, wird standardmäßig die DOM-Level-0-Methode verwendet, wenn andere Methoden ungültig sind.
使用EventUtil的方法如下:var btn=document.getElementById("myBtn"); var hander=function(){alert("hello")};//事件处理程序 EventUtil.addHandler(btn,"onclick",handler); //其他代码 EventUtil.removeHandler(btn,"onclick",handler); addHandler()和removeHandler()没有考虑到所有的浏览器问题,例如IE中作用域的问题,但是使用它们添加和移除事件处理程序还是足够了。
上面是我整理给大家的在js中详细介绍几种类型的事件处理程序的方式,希望今后会对大家有帮助。
相关文章:
如何在<script></script>标签中一样可以使用el表达式
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in verschiedene Arten von Event-Handlern in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Mit der Beliebtheit von Kurzvideoplattformen ist Video-Matrix-Account-Marketing zu einer aufstrebenden Marketingmethode geworden. Durch die Erstellung und Verwaltung mehrerer Konten auf verschiedenen Plattformen können Unternehmen und Einzelpersonen Ziele wie Markenwerbung, Fanwachstum und Produktverkäufe erreichen. In diesem Artikel wird erläutert, wie Sie Video-Matrix-Konten effektiv nutzen und verschiedene Arten von Video-Matrix-Konten vorgestellt. 1. Wie erstelle ich ein Videomatrix-Konto? Um ein gutes Video-Matrix-Konto zu erstellen, müssen Sie die folgenden Schritte befolgen: Zunächst müssen Sie klären, was das Ziel Ihres Video-Matrix-Kontos ist, sei es für die Markenkommunikation, das Fanwachstum oder den Produktverkauf. Klare Ziele helfen dabei, entsprechende Strategien zu entwickeln. 2. Wählen Sie eine Plattform: Wählen Sie eine geeignete Kurzvideoplattform basierend auf Ihrer Zielgruppe. Zu den aktuellen Mainstream-Kurzvideoplattformen gehören Douyin, Kuaishou, Huoshan Video usw.

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

jQuery ist eine beliebte JavaScript-Bibliothek, die zur Vereinfachung der DOM-Manipulation, Ereignisbehandlung, Animationseffekte usw. verwendet werden kann. Bei der Webentwicklung stoßen wir häufig auf Situationen, in denen wir die Ereignisbindung für ausgewählte Elemente ändern müssen. In diesem Artikel wird erläutert, wie Sie mit jQuery ausgewählte Elementänderungsereignisse binden, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir ein Dropdown-Menü mit Optionen erstellen, die Beschriftungen verwenden:

Go-Funktionen können mehrere Werte unterschiedlichen Typs zurückgeben. Der Rückgabewerttyp wird in der Funktionssignatur angegeben und über die Return-Anweisung zurückgegeben. Beispielsweise kann eine Funktion eine Ganzzahl und einen String zurückgeben: funcgetDetails()(int,string). In der Praxis kann eine Funktion, die die Fläche eines Kreises berechnet, die Fläche und einen optionalen Fehler zurückgeben: funccircleArea(radiusfloat64)(float64,error). Hinweis: Wenn die Funktionssignatur keinen Typ angibt, wird ein Nullwert zurückgegeben. Zur Verbesserung der Lesbarkeit wird empfohlen, eine Return-Anweisung mit einer expliziten Typdeklaration zu verwenden.

Vertiefendes Verständnis des Schließen-Schaltflächenereignisses in jQuery Während des Front-End-Entwicklungsprozesses stoßen wir häufig auf Situationen, in denen wir die Schließschaltflächenfunktion implementieren müssen, z. B. das Schließen von Popup-Fenstern, das Schließen von Eingabeaufforderungsfeldern usw. Wenn Sie jQuery, eine beliebte JavaScript-Bibliothek, verwenden, wird es äußerst einfach und bequem, das Schaltflächenereignis „Schließen“ zu implementieren. Dieser Artikel befasst sich mit der Verwendung von jQuery zum Implementieren von Schließschaltflächenereignissen und stellt spezifische Codebeispiele bereit, um den Lesern zu helfen, diese Technologie besser zu verstehen und zu beherrschen. Zuerst müssen wir verstehen, wie man definiert

Zu den Methoden zum Erstellen ereignisbasierter Anwendungen in PHP gehört die Verwendung der EventSourceAPI zum Erstellen einer Ereignisquelle und die Verwendung des EventSource-Objekts zum Abhören von Ereignissen auf der Clientseite. Senden Sie Ereignisse mithilfe von Server Sent Events (SSE) und warten Sie auf der Clientseite mithilfe eines XMLHttpRequest-Objekts auf Ereignisse. Ein praktisches Beispiel ist die Verwendung von EventSource zur Aktualisierung der Bestandszahlen in Echtzeit auf einer E-Commerce-Website. Dies wird auf der Serverseite durch zufälliges Ändern des Bestands und Senden von Aktualisierungen erreicht, und der Client wartet über EventSource auf Bestandsaktualisierungen und zeigt diese an Echtzeit.

Einführung in die jQuery-Ereignisbindungsmethode jQuery ist eine sehr beliebte JavaScript-Bibliothek, die Seitenvorgänge und Ereignisverarbeitung vereinfacht. In jQuery ist die Ereignisbindung ein sehr häufiger Vorgang, und entsprechende Aktionen können über Ereignisbindungsmethoden ausgelöst werden. In diesem Artikel werden mehrere häufig verwendete jQuery-Ereignisbindungsmethoden vorgestellt und spezifische Codebeispiele angehängt. 1..on()-Methode Die on()-Methode ist eine der am häufigsten verwendeten Ereignisbindungsmethoden in jQuery. Sie kann für ein oder mehrere Elemente verwendet werden.
