- jQuery 4 unterstützt Ihr aktuelles Ereignissystem, verwaltet .on() als API-Zentrale und verbessert die Sichtbarkeit des Ereignisflusses.
- Die Delegierung von Ereignissen und die Verwendung von Selektoren müssen einfach nur Tasten für die Bereitstellung erfüllen, insbesondere für erweiterte Schnittstellen oder Computer.
- Die Unterstützung von Trusted Types und CSP hat dazu geführt, dass jQuery 4 die höchsten Sicherheitsanforderungen erfüllt, ohne auf seine Ergonomie zu verzichten.
- Für existierende Anwendungen ermöglicht die Beherrschung des neuen JQuery-4-Ereignismodells eine Modernisierung ohne erneute Beschreibung, während neue Projekte auf native APIs umgestellt werden können.
jQuery 4 ist mit einem Event-System ausgestattet, das weitaus mehr mit den modernen Browser-Standards zu tun hat, aber ohne auf die klassische Philosophie der Bibliothek zu verzichten: Weniger schreiben, mehr tun. Wenn Sie Anwendungen mit viel jQuery-Code verwenden, ist das so, als hätten Sie die Ereignisse weiterentwickelt, damit Ihre Schnittstellen schnell, einfach und unkompliziert ablaufen können.
Im Grunde ist das jQuery 4-Ereignissystem eine einfache AddEventListener-Erweiterung, sino una capa que normalizantos conportamientos enter the navegadores, refuerza the security, mantien a ordin of de ejectución claro and ofrece herramientas potentes as the delegación of eventos and la Integration with APIs modernas the navegador. Ich habe das alles mit Ruhe aus der Datenbank der JavaScript-Ereignisse herausgefunden, bis ich festgestellt habe, dass ich diese Version tatsächlich geändert habe.
JavaScript wird von Ereignissen geleitet
JavaScript wird in einem einzigen Monat ausgeführt, aber das Browser-Entorno ist vollständig von Ereignissen beherrscht: Mausklicks, Filme, Tastaturimpulse, Rekursionen, Wechsel in Formeln usw. Jedes dieser Add-Ons ist ein diskreter, mit einem DOM-Konkret verbundener Ort.
Es ist kein globales Ereignis, das heute auf der Schnittstelle auftritt, da es sich um ein bestimmtes Element handelt. Klicken Sie auf eine Schaltfläche, um ein Ereignis anzuzeigen, und klicken Sie auf diese Schaltfläche, ohne das Dokument einzugeben. Dieses Ereignis kann eine Manejador-Funktion (Ereignishandler) aktivieren, die dann ausgeführt wird, wenn der Navigationsprozess erfolgreich verläuft.
Da der JavaScript-Motor nur eine Anleitung zu Beginn durchführte, musste er eine halbe Stunde warten, um die Ereignisse zu koordinieren. Wenn etwas Interessantes passiert – zum Beispiel, pulsiert der Benutzer mit einer Taste – der Navigator befindet sich in einer Versandwarteschlange (Cola de Despacho). Sobald die Lamadas frei ist, stößt der Motor auf das nächste Cola-Ereignis, stößt den verbundenen Manöver aus, bis das Finale erreicht ist, und stößt nur darauf hin, dass noch mehr Ereignisse in der Luft sind.
Ein wichtiges Detail ist jedoch, dass ein Ereignis nur in der Cola stattfindet, wenn nur ein dafür registrierter Manager vorhanden ist. Wenn Sie es nicht wissen, wird der Navigator einfach zum Erfolg führen. Dies wird erklärt, weil eine Schnittstelle „umgekehrt“ sein kann, wenn Sie einen Hörer für die Interaktion registrieren, die Sie hören.
Diese Architektur leitet sich von der „Regel der Reaktionskapazität“ ab.: Als der Schulleiter gerade mit Ihrem Manöver beschäftigt war, war es noch nicht so weit, bis die Stelle zusammengebrochen war. Die Animationen werden angezeigt, die Klicks werden nicht beantwortet und das Benutzererlebnis wird angezeigt.
Die korrekte Strategie in JavaScript erfordert, dass jeder die meiste Zeit in Anspruch nimmt und die Kontrolle rechtzeitig übernimmt. Wenn viel CPU-Zeit erforderlich ist (z. B. um ein bestimmtes Datenvolumen zu verarbeiten), müssen Sie die Arbeit in kleine Räume – mehrere Jahrzehnte – einbinden und mit setTimeout, requestAnimationFrame oder Workern verteilen, sodass der Browser andere Ereignisse in den Medien verarbeiten kann.
Ereignisse in reinem HTML und addEventListener

Bevor Sie jQuery 4 installieren, müssen Sie die Ereignisse mit nativem JavaScript ausführen. HTML erlaubt die Definition von Manövern in Attributen auf*, wie z. B. onclick=“miFuncion()“ in einem Bot, aber es handelt sich um eine ungefähre Struktur (HTML) mit Kompatibilität (JS) und es besteht die Schwierigkeit, den Code zu verwalten.
Die moderne Form besteht darin, addEventListener direkt über DOM-Knoten zu verwenden. Beispielsweise kann eine Schaltfläche verschiedene Registrar-Manejadores für den Veranstaltungstyp erstellen:
In diesem Modell ist das erste Argument von addEventListener der Typ des Ereignisses wie folgt – Klicken, Mouseover, Tastendruck usw. – und die Sekunde ist eine Referenz auf die Funktion. Abgesehen von der Spezifizierung, wenn verschiedene Zuhörer registriert sind, müssen Sie sie in der Reihenfolge auswerfen, die Sie erhalten möchten, da einige Antiquitäten nicht für Sie von entscheidender Bedeutung sind.
Eine weitere Enthüllung der nativen API ist, dass sie zusätzlich zu einem Manöver mit dem ursprünglichen Ursprungszustand des Ereignisses verbunden sein kann. Es ist völlig kostenlos, eine Funktion zur Datenüberwachung und zum anderen unabhängigen Registrar für Analysen zu haben, die Sie per Klick löschen können. Dies bedeutet, dass Sie die Verantwortung für alle Funktionen, die Sie nicht übernehmen, nicht übernehmen müssen.
Das historische Problem besteht darin, dass die Navigatoren die Ereignisse nicht genau gleich durchführen können. Internet Explorer verwendet AttachEvent anstelle von AddEventListener, da alle Ereignisse nicht gelöscht werden müssen und Details wie die Reihenfolge der Fokus- und Blur-Variablen angezeigt werden. Dies ist eine Kompatibilitätsstufe für diejenigen, die jQuery sehr beliebt sind: Es wurde ein einheitliches Cover für die Gesamtheit dieser seltenen Dateien angeboten.
Das jQuery-Ereignissystem und die .on()-Methode
Seit jQuery 1.7 und in jQuery 4 konsolidiert, ist der Kern des Bibliotheks-Ereignissystems die Methode .on(). Es gibt folgende Funktionen: click(), hover() oder bind(), daher muss alles in .on() delegiert werden, da die API für die Registrierung von Listenern vereinheitlicht ist.
.on() akzeptiert verschiedene Kombinationen von Argumenten, die in einfachen und komplexen Situationen möglich sind. El patrón más básico es:
In diesem Fall handelt es sich bei den ersten Parametern um eine Zeichenfolge mit einem oder mehreren Ereignistypen, die von Räumen getrennt werden, der zweite ist der Manejador. jQuery ruft diese Funktion jedes Mal auf, wenn die Aktion in den ausgewählten Elementen ausgeführt wird, bevor ein normalisiertes Ereignisobjekt angezeigt wird.
Die Leistungsfähigkeit von .on() wird angezeigt, sobald ein Selektor zwischengeschaltet ist, um Ereignisse zu delegieren. In diesem Fall lautet die allgemeine Form:
Wenn wir diese Variante verwenden, wird der Manöver nicht direkt zu jedem seiner Vorfahren hinzugefügt, sondern zu einem gemeinsamen Vorfahren. jQuery bestätigt das Sprudeln des DOM: Das Ereignis stammt aus dem Zielelement, steigt von seinen Eltern auf, sobald es .on() aufgerufen hat, wird es berechnet, wenn event.target mit dem delegierten Selektor übereinstimmt. Wenn es passiert, stoßen Sie den Handler aus.
Darüber hinaus kann .on() ein Objekt empfangen, das die Tasten, die Veranstaltungskette und die wertvollen Funktionen enthält. Damit können Sie verschiedene Zuhörer nur einmal über verschiedene Elemente registrieren, indem Sie den Code kompakter und ausdrucksstärker halten.
Dieser Entwurf ist aus einem anderen interessanten Grund: Sie können die statistischen Daten in das Ereignisregister eintragen, um die Parameterdaten zu verwenden. jQuery encapsula esa información en event.data Jedes Mal, wenn Sie den Manager dispergieren, können Sie eine andere Funktion mit häufig verteilten Komponenten nutzen, ohne Ad-hoc-Dienste erstellen zu müssen.
Das Ereignisobjekt von jQuery und die Steuerung des Flusses
Wenn jQuery einen Manager ausführt, wird es als Argument für ein Ereignisobjekt verwendet, das die Unterschiede zwischen den Benutzern normalisiert. Zu diesem Objekt gehören die wesentlichen Informationen: die Art des Ereignisses in event.type, das Element stammt aus event.target und ein Verweis auf das native Ereignis in event.originalEvent.
Aus vorhersehbarer Sicht propagierte die Bürgermeisterei die Ereignisse des DOM nach dem ursprünglichen Originaldokument. In diesem Schritt lernte jQuery, dass die Benutzer gleichzeitig vorgehen und in der Reihenfolge, in der sie registriert sind, ausgeworfen werden. Dies ist möglich, da die Delegation die Zusammenstellung der Funktionen übernimmt, damit das Unternehmen erfolgreich ist.
Wenn Sie die Propagierung verhindern möchten, damit das Ereignis nicht dem DOM-Baum untergeordnet wird, können Sie event.stopPropagation() aufrufen.. Damit vermeiden Sie, dass andere Elemente die Benachrichtigung erhalten und in der Folge handeln, aber ich habe viel Zeit damit verbracht, nicht den Wunsch zu verspüren, die allgemeine Logik des Inhalts in einem bestimmten Fall anzuwenden.
Sie haben eine zweite Kontrollstufe mit event.stopImmediatePropagation(). Abgesehen davon, dass das Sprudeln immer wieder auftritt, kann es kaum passieren, dass Sie andere im Mismo-Element registrierte Mismo-Manejadores ausstoßen. Es ist eine äußerst drastische Maßnahme, um zu gewährleisten, dass eine andere Funkfunktion bei einem Kritiker nicht funktioniert.
Andererseits bricht event.preventDefault() die Aktion ab, weil der Fehler mit dem Ereignis verbunden ist. Vermeiden Sie beispielsweise, dass Sie einen Link zu einer anderen URL eingeben oder dass Sie um ein Formular gebeten werden. Diese technische Technik ist für Kunden von grundlegender Bedeutung, da sie von AJAX gesendet wurden. Sie müssen die Einreichung nicht erfassen, das Standard-Verhalten ansprechen und Ihre Anfrage umgehend abgeben.
Ein klassischer jQuery-Atajo wird vom Manöver falsch entwickelt. Diese Freigabe entspricht dem Aufruf von „preventDefault()“ wie „stopPropagation()“, kombiniert mit der Aufhebung der Aktion, weil sie mit der Blockade der Propagierung defekt ist. Es ist einfach, aber Sie können es nur dann verwenden, wenn Sie wirklich zwei Dinge in der Tasche haben.
Im jQuery-Kontext klickt der Benutzer darauf, dass der Manöver das Element enthält, das in diesem Moment mit dem Ereignis begonnen hat. Bei bestimmten Ereignissen müssen Sie sich darauf verlassen, dass der Zuhörer registriert ist. Bei Delegierten handelt es sich um ein Element, das mit dem delegierten Selektor zusammenfällt, der nicht mit event.target zusammenfallen kann, wenn der Erfolg von einem tieferen Abstieg abhängt.
Passen Sie die Daten an die Manejadores an und nutzen Sie sie wieder
Mit jQuery können Sie die Event-Informationen in der Registrierung mit .on() ergänzen.. Wenn Sie einen Datenparameter verwenden, der nicht null oder undefiniert ist, muss jQuery erst dann in event.data eingefügt werden, wenn der Handler ausgegeben wird.
Die übliche Empfehlung besteht darin, ein planmäßiges Objekt als Inhalt zu verwenden, zum Beispiel { Aktion: „Speichern“, Tracking: true }, Sie müssen verschiedene Werte unter einem bestimmten Parameter verwalten und auf die Eigenschaften zugreifen. Der Code ist dadurch besser lesbar, als dass man ihn einfach eingeben müsste.
In früheren Versionen als jQuery 4 kann ein anderer Manöver mehrere verschiedene Elemente hinzufügen. Jedes Mal, wenn Sie Ihr eigenes Paket von event.data verwenden, muss die Funktion ordnungsgemäß ausgeführt werden, unabhängig vom Kontext, in dem Sie sich registrieren. Es ist eine elegante Art, das DRY-Prinzip in der Veranstaltungslogik anzuwenden.
Zusätzlich zu den statischen Daten bietet jQuery einen weiteren Kanal an, um Informationen zu den unterschiedlichen Ereignissen aus dem Handbuch zu erhalten. Die Methoden .trigger() und .triggerHandler() akzeptieren ein zweites Argument, das einen einfachen Wert oder ein Array darstellen kann; jQuery transformiert die Wertigkeit jedes Array-Elements in zusätzliche Verwaltungsparameter, nur nach dem Ereignisobjekt.
Durch die Kombination von event.data und den Argumenten von .trigger() ergibt sich ein sehr flexibles System zum Erstellen interner APIs auf Ereignisbasis. Sie können event.data für die Listener-Konfiguration und zusätzliche Parameter für Datenvariablen bei jedem programmgesteuerten Aufruf verwenden.
Delegación de eventos: rendimiento y escalabilidad
Einer der Techniker, die das jQuery-Ereignissystem am stärksten beeinflussen, ist die Delegierung, die direkt an die DOM-Bubbling-Funktion angeschlossen wird. Während Sie einem Zuhörer jedes Mal ein potenziell interaktives Element hinzufügen, melden Sie sich einmal in einem gemeinsamen Wettbewerb an und warten darauf, dass das Ereignis gerade erst begonnen hat.
Es ist ein brillanter Patron in großartigen oder architektonischen Gebäuden. Stellen Sie sich eine Tabelle mit meinen Zellen vor: Der Registrar von mehreren Personen, um einen Klick zu erhalten, und jedes Mal ist es eine bemerkenswerte Frage, zum Beispiel aus Memoria, wie aus der Suche nach einem Vergleich bei unterschiedlichen Ereignissen. Wenn Sie einen Solo-Hörer auf dem Tisch oder am Körper sitzen lassen und ihn durch den Selektor filtern, werden die Kosten drastisch gesenkt.
Die Delegation vereinfacht auch die Interaktion mit Inhalten, die über AJAX generiert oder geändert werden. Wenn nach dem Laden der Seite neue Dateien in die Tabelle eingefügt werden, ist es nicht erforderlich, das DOM aufzuzeichnen, um es nach jeder neu erstellten Zelle zu manipulieren: Der delegierte Zuhörer funktioniert nun, weil er bei den Vorfahren liegt, nicht in konkreten Knoten.
Dies ist der Fall, um ein optimales Ergebnis zu erzielen, indem Sie den Punkt auswählen, der dem delegierten Ereignis hinzugefügt wird. Als wir am Baumstamm ankamen, war der Weg nach Burbuje am längsten und die Zahl der Selektorenvergleiche, die jQuery haben muss, ist größer. In großen Dokumenten kann die Verwendung von Dokumenten oder Körperschaften als universelle Delegierte Kosten für den Erfolg in der Hochfrequenz verursachen.
Am Ende der Selektoren verarbeitet jQuery sehr schnell die einfache Form der tag#id.class. Ausdrucke wie #myForm, a.external oder die Schaltfläche werden mit hoher Effizienz ausgewertet. Auf diese Weise können komplexe Auswahlmöglichkeiten – zum Beispiel tiefgreifende Kombinationen von Nachkommen – vielfältiger und umfangreicher sein, da sie in den meisten Anwendungsbereichen perfekt einsetzbar sind.
Ich habe mich auch dafür entschieden, dass nicht alle Ereignisse zur Delegation erforderlich sind. Algunos, wie Laden, Scrollen oder Fehler in den Bildern, nicht burbujean en den Navigatoren, und daher funktioniert es nur, wenn die Addjuntas direkt zum ursprünglichen Element kommen. jQuery führt Ereignisse wie Fokussierung und Fokussierung ein, um Alternativen zu bieten, mit denen Sie Fokus und Unschärfe erzeugen möchten. Allerdings gibt es Kategorien – zum Beispiel, in IE-Antiguos formulierte Ereignisse – ohne historische Einschränkungen.
Rendezvous von Ereignissen in jQuery 4
Im Großen und Ganzen treten Ereignisse, wie z. B. ein Klick oder eine Änderung, in regelmäßigen Abständen auf, so dass das Rendimiento nicht wirklich ein Problem darstellt. Es gibt jedoch viele Dinge (Maus bewegen, scrollen, Größe ändern), die in den nächsten Wochen unterschiedliche Dokumente liefern können, und die Strafe muss nur mit der Zeit und den Kosten unserer Manöver verbunden sein.
Die erste Anmeldung für diese hochfrequentierten Ereignisse besteht darin, den Rückrufaufwand zu minimieren. Um Vorabberechnungen durchzuführen und Werte zu speichern, die viel wiederholt werden müssen, begrenzen Sie die Operationen über das DOM und wenn es nötig ist, führen Sie Techniken zur Drosselung oder Entprellung mit setTimeout, requestAnimationFrame oder zusätzlichen Bibliotheken ein und steuern Sie das Scroll-Verhalten mit ihnen propiedad CSS overflow.
Ein zweiter Aspekt, bei dem die Zahl der registrierten Delegierten nach der Dokumentenerhebung im Auge behalten wird. Jedes Mal, wenn ein Ereignis angezeigt wird, muss jQuery alle Zuhörerpotenziale für diesen Zweck wiederherstellen, den Aufstiegsschritt vom Ziel aufzeichnen, den Knoten angreifen und die Auswahl der assoziierten Personen vergleichen. Ein überzähliger, in Dokumenten eingetragener Händler kann in einen Flaschenöffner umgewandelt werden.
Die Lösung besteht darin, die Delegation so weit wie möglich aus den Zielelementen zu beauftragen. Wenn man davon ausgeht, dass es für ihn nur interessante Ereignisse in einer konkreten Formel gibt, ist es am besten, diese Formel in den Körper zu übertragen. Auf diese Weise ist die Anzahl der Elemente, die das Ereignis ausmachen, geringer, und die Kosten für die Bewertung werden gesenkt.
jQuery 4 unterstützt die Dateiverwaltung bei der Beschleunigung der Selektoren, die bei der Delegierung verwendet werden. Sobald Sie eingestiegen sind, ist ein Selektor wie die Taste für einen bestimmten Wettbewerber bemerkenswert effektiver, weil er tiefgründige Kommentare abgibt. Das Menü muss zunächst mit den Tasten des Hörers ersetzt werden, um die erforderliche Auswahl so weit wie möglich zu vereinfachen.
Kompatibilität mit Ereignissen, besonderen Fällen und wichtigen Hinweisen
Das jQuery-Ereignissystem wird aktiviert und kann interne Metadaten mit den DOM-Elementen verbinden. Damit ist in der Bibliothek eine detaillierte Registrierung möglich, die den Benutzern hinzugefügt werden kann, darunter Namespaces, die Unterstützung von .off() in präziser Form usw. Allerdings sind alle Elemente – wie Objekt, Einbettung und Applet – nicht mit zusätzlichen Formdaten zugelassen, die jQuery benötigen, weil sie dort sind Die Bibliothek kann keine Ereignisse in Ihren Büchern veröffentlichen.
Es gibt noch weitere Besonderheiten in Bezug auf Event-Tipps, die dem Navigator vorbehalten sind. Alles, was Sie tun, laden, scrollen und Fehler machen, ist, dass Bilder nicht gelöscht werden, da sie nicht gelöscht werden können; en Internet Explorer 8 Jahre alt, tampoco lo hacían paste ni reset. Da jQuery beabsichtigt, kompatible Alternativen anzubieten, sind die Event-Modelle des Navigators hiermit begrenzt.
Ein Fall, in dem es sich um window.onerror handelt, unterscheidet sich aufgrund der Argumente und der Tapferkeit der Antwort von den aktuellen Ereignissen. Aus diesem Grund muss jQuery nicht über das System abstrahieren und empfiehlt, den Manöver direkt über die Eigenschaft window.onerror zu beauftragen, da dann globale Fehler erfasst werden müssen.
Darüber hinaus ist es wichtig, dass die Liste der Manöver, die für ein Element verwendet werden müssen, in dem Moment auftritt, in dem das Ereignis mit dem Prozess beginnt. Wenn Sie einen Rückruf auf .off() setzen, um einen Listener zu verlassen, ändert sich diese Änderung nicht an die von Ihnen programmierten Handler für die aktuelle Ausgabe: Die Eliminierung wird nur bei zukünftigen Aufrufen wirksam. Um die Wiederherstellung von Rückrufen in einem anderen Element und einem Ereignistyp im aktuellen Zyklus durchzuführen, ist stopImmediatePropagation() erforderlich.
Aufgrund der API-Terminals wurde jQuery nicht mehr unterstützt, da das Pseudo-Ereignis „hover“ als Mouseenter- und Mouseleave-Alias verwendet wurde. In früheren Versionen wurde „hover“ als Gruppenname verwendet, es kam jedoch zu Verwirrung mit der Methode .hover(). In jQuery 4 wird die explizite Verwendung von „mouseenter“ und „mouseleave“ oder die Methode „.hover()“ mit diesen beiden Funktionen aktiviert, sobald sie gesendet werden.
Ich bin wirklich auf jQuery 4 umgestiegen
jQuery 4 markiert einen Flexionspunkt, der die Abhängigkeit von veralteten Browsern verringert. Auf der Ebene der Ereignisse muss gesagt werden, dass das Modell, das Sie kennengelernt hat, sich am meisten an die tatsächlichen Spezifikationen des DOM angepasst hat.
Eine der nützlichsten Modifikationen besteht darin, mit der Reihenfolge und der Aktionsmanöver der Fokussierung, wie Fokus, Unschärfe, Fokussierung und Fokussierung, umzugehen. Bisher wurde die jQuery-Anwendung normalisiert, um konsistente Ergebnisse einschließlich Browsern mit besonderen Implementierungen zu erzielen. In der Version 4 ist die Bibliothek stärker mit dem W3C-Standard verbunden, da der Code, der von den einzelnen Tieren abhängt, in unterschiedlicher Form unterschiedlich sein kann.
Ein weiterer wichtiger Aspekt ist die Unterstützung für Legacy-Navigatoren. jQuery 4 ab sofort mit Internet Explorer 10, Edge Legacy und Antiquitäten-Mobilgeräten, konzentriert auf eine moderne Basisversion. IE11 ist eine Figur, die so transportiert wird, aber es liegt alles daran, dass es sich um eine Transporthilfe handelt. Aus Verzweiflung über die Notwendigkeit von Workarounds für diese Plattformen könnte der Kern der Ereignisse einfacher und direkter sein.
Es wurde eine Modernisierung innerhalb des Codes durchgeführt. Die Bibliothek verwendet aktuell mehr JavaScript, da sie am besten in Tools wie Vite, Rollup oder Webpack integriert ist. Dies ist kein direkter Wechsel wie bei .on() oder .off(), sondern wirkt sich darauf aus, jQuery in vielen modularen und modernen Bundle-Paketen zu finden.
Im Build Slim ist jQuery 4 heute noch beliebter. Ich habe Deferreds und Callbacks zugunsten der Verwendung nativer JavaScript-Promises eliminiert, da diese mit dem aktuellen Ökosystem am besten funktionieren. Dies ist nur ein Teil von Asincronía und AJAX und enthält auch Fragmente historischer Codes, die mit indirekten Ereignissen interagieren.
Diese Verbindung besteht auch aus den Zuständen, die die Sichtbarkeit des Veranstaltungssystems beeinträchtigen. Um die Kompatibilität mit veralteten Browsern zu gewährleisten, ist jQuery 4 nicht mehr kompatibel mit der vom W3C definierten Semantik, die es ermöglicht, Ereignisse, Verbreitung und Ausgabe durch Kombinationen von jQuery mit APIs zu erfassen nativas modernas.
Sicherheit, vertrauenswürdige Typen und Ereigniskontext
Einer der großen Fortschritte von jQuery 4 ist auf der Erde der Sicherheit, insbesondere im Zusammenhang mit Content Security Policy (CSP) und Trusted Types. Dies ist jedoch nicht direkt mit den Ereignissen verbunden, denn die Form besteht darin, dass die Bibliothek mit dem DOM und dem digitalen Code auf der Oberfläche des Zugriffs interagiert.
Trusted Types ist eine Technologie für schwierige Cross-Site-Scripting-Angriffe (XSS). Es ist erforderlich, dass sensible Kontexte (z. B. durch Zuweisung von innerHTML) bestimmte Objekte als Sicherheit erhalten. jQuery 4 unterstützt diesen Mechanismus und ermöglicht die Integration in Anwendungen, die von CSP-Politikern verwaltet werden.
Alle linearen Operationen mit Trusted Types und CSP reduzieren jQuery-Situationen, da ein einfacher Ereignismanöver dazu führen kann, dass Inhalte in Sicherheit gebracht werden, ohne dass das Ziel erreicht wird. Es ist nicht erforderlich, die Daten zu validieren und in Ordnung zu bringen, aber die Bibliothek ist aufgrund der Sicherheit vorrangiger und sicherer.
Ausgehend von der Ansicht des Frontend-Entwicklers bedeutet dies, dass viele Kunden, die auf jQuery-Klassikern basieren, in langlebigen Anwendungen gültig sind, Es wird auf Version 4 aktualisiert und alle Teile angepasst, die von veralteten APIs abhängen. Im Laufe der Ereignisse müssen Sie diese dann übersetzen, indem Sie .on() verwenden, die Programme delegieren und sie mit den modernen Schutzmaßnahmen des Navigators teilen.
jQuery 4 ist mit nativem JavaScript im Event-Management ausgestattet
Mit den modernen APIs des Browsers – querySelector, addEventListener, fetch, classList – wird oft darauf geachtet, dass jQuery gesendet wird. Technisch gesehen kann der Hauptteil dessen, dass das Ereignissystem der Bibliothek nur natives JavaScript verwendet, nachgeahmt werden, und ein neues Projekt könnte die Option sein, die am besten zugänglich ist.
Allerdings gibt es Anwendungen mit vielen jQuery-Codes, die Geschichte ist anders. Das Migrieren aller Event-Systeme, die von .on(), Delegierungen, Plugins und speziellen Anwendungen abhängen, kann hilfreich und schwierig sein. jQuery 4 bietet die Möglichkeit, die Basis zu modernisieren, ohne das Interaktionsmodell neu schreiben zu müssen.
Bei Greenfield-Projekten oder modernen Frameworks ist jQuery nur für die Durchführung von Ereignissen erforderlich. Die Kombination von addEventListener mit Benutzern wie dem Event-Delegationshandbuch und die Verwendung von Terceros für alle Fälle, mit nur wenig Magie und mehr expliziter Kontrolle.
Die pragmatische Entscheidung besteht darin, jQuery nur dann zu verwalten, wenn sie tiefgreifend integriert ist – Zum Beispiel ein CMS wie WordPress oder eine riesige Unternehmensanwendung – und schreiben Sie einen neuen nativen Code oder Frameworks, ohne dass Sie darauf angewiesen sind. In diesem gemischten Szenario ist jQuery 4 aktuell als Einstieg in den Übergang und die Präsentation des Web-Ökosystems möglich.
Für diejenigen, die Code-Basen verwenden, ist das Verständnis des jQuery 4-Ereignissystems eine nützliche Umkehrung: Um den größtmöglichen Anteil an dem zu erreichen, was Sie geschrieben haben, wenden Sie sich an höhere Renditen und Sicherheit und planen Sie eine mögliche progressive Migration auf native APIs, ohne dass Sie nach und nach Lösungen improvisieren müssen.
In der letzten Instanz hat jQuery 4 ein Event-System konsolidiert, das Kompatibilität, Klarheit und Ausrichtung mit den aktuellen Standards vereint. Wenn Sie .on() genehmigen, die Delegierung, die präzise Propagierungskontrolle und die Sicherheit gewährleisten, können Sie die Schnittstellen auf jQuery-Basis verwalten und im aktuellen Frontend-Kontext verwalten.