Eine kurze Analyse des Hinzufügens von Listener-Ereignissen bei Wertänderungen in der HTML-Eingabe

Eine kurze Analyse des Hinzufügens von Listener-Ereignissen bei Wertänderungen in der HTML-Eingabe

Der zu erzielende Effekt
In vielen Fällen überwachen wir die Änderungen im Eingabefeldwert in Echtzeit, sodass wir sofort Maßnahmen ergreifen können, um den Browser anzuweisen, das Benutzererlebnis der Website zu verbessern. Zeigen Sie beispielsweise sofort die Anzahl der Bytes an, die in das Eingabefeld eingegeben wurden, oder lesen Sie den Eingabewert sofort vor, um die Suche zu leiten. Dies ist der zugehörige Sucheffekt von Google.
Wir können viel erreichen, wenn es uns gelingt, den Moment festzuhalten.
Was Sie wissen müssen
Zuerst müssen wir den Unterschied zwischen onchange und onpropertychange verstehen :

Wenn sich im Internet Explorer die Eigenschaften eines HTML-Elements ändern, können diese sofort über „onpropertychange“ erfasst werden.
Wenn sich der Wert des Onchange-Attributs ändert, muss das aktuelle Element auch den Fokus verlieren (Onblur), um das Ereignis zu aktivieren.

Nachdem wir dies verstanden haben, stellen wir fest, dass der Effekt von onpropertychange den gewünschten ist, aber leider funktioniert es nur unter IE. Können wir einen anderen Zeitpunkt finden, um onpropertychange zu ersetzen?

Nachdem ich die Informationen gelesen hatte, erfuhr ich, dass das Oninput- Ereignis verwendet werden kann, um in anderen Browsern denselben Effekt zu erzielen . Es ist großartig. Wir müssen nur den IE-Browser unterscheiden.

Verwendung von oninput

Sehen wir uns als Nächstes an, wie oninput verwendet wird.
Wenn du die Anmeldezeit direkt auf der Seite einträgst, kannst du das folgendermaßen machen:
<、input Typ="Text" Name="Textfeld" oninput="Alarm(dieser.Wert);" onpropertychange="Alarm(dieser.Wert)" />

Wenn Oninput jedoch vom JS-Code getrennt ist, unterscheidet es sich etwas von der normalen Ereignisregistrierungsmethode und muss mit addEventListener registriert werden.

Unterschied zwischen attachEvent und addEventListener

Schauen wir uns an dieser Stelle an, wie attachEvent und addEventListener verwendet werden:

Die Methode attachEvent hängt an ein Ereignis weitere Verarbeitungsereignisse an. (Wird von der Mozilla-Serie nicht unterstützt)
addEventListener-Methode für die Mozilla-Serie

Beispiel:

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. document.getElementByIdx_x_x("btn") .onclick = method1 ;
  2.   
  3. document.getElementByIdx_x_x("btn") .onclick = method2 ;
  4.   
  5. document.getElementByIdx_x_x("btn") .onclick = method3 ;

Wenn es so geschrieben wird, wird nur medhot3 ausgeführt

Schreiben Sie es so:

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. var btn1Obj = Dokument .getElementByIdx_x_x("btn1");
  2.   
  3. btn1Obj.attachEvent("beimKlick",Methode1);
  4.   
  5. btn1Obj.attachEvent("beimKlick",Methode2);
  6.   
  7. btn1Obj.attachEvent("beimKlick",Methode3);

Die Ausführungsreihenfolge ist Methode3->Methode2->Methode1

Wenn es sich um die Mozilla-Serie handelt, wird diese Methode nicht unterstützt und addEventListener wird benötigt

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. var btn1Obj = Dokument .getElementByIdx_x_x("btn1");
  2.   
  3. btn1Obj.addEventListener("klicken",Methode1,false);
  4.   
  5. btn1Obj.addEventListener("klicken",Methode2,false);
  6.   
  7. btn1Obj.addEventListener("klicken",Methode3,false);
  8.   
  9. Die Ausführungsreihenfolge ist Methode1- > Methode2- > Methode3

Nachdem wir nun wissen, wie man addEventListener zum Registrieren des Oninput-Ereignisses verwendet, kehren wir zu dem Problem zurück, das wir lösen müssen [Aufteilen des Browsers].

Bestimmen Sie den IE-Browser

Wie unterscheidet man IE?
Dies scheint ein weit verbreitetes Problem zu sein. Es gibt viele Möglichkeiten, es im Internet zu finden, die in zwei Kategorien eingeteilt werden können:
Die erste besteht darin, die funktionalen Eigenschaften des Browsers zu bestimmen.
Die zweite Methode besteht darin, die herkömmliche Benutzeragentzeichenfolge zu ermitteln. Dabei handelt es sich vermutlich um die älteste und beliebteste Erkennungsmethode.
Wir werden hier nicht ins Detail gehen. Wir verwenden eine einfachere Methode zur Beurteilung

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. wenn("\v"=="v") {
  2.   
  3. Warnung("IE");
  4.   
  5. }anders{
  6.   
  7. Warnung("NEIN");
  8.   
  9. }
  10.   

Die Probleme, auf die wir bisher gestoßen sind, sind gelöst. Beginnen wir mit dem Schreiben von Code, um zu testen, ob unsere Ideen umgesetzt werden können.

Die obige kurze Analyse der HTML-Eingabe und der Wertänderung zum Hinzufügen von Abhörereignissen ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Original-URL: http://www.web600.net/html/editor/JavaScript/201001131529.html

<<:  Typora-Codeblock-Farbabgleich und Implementierungscode für die Titelseriennummer

>>:  Tutorial zur Installation und Verwendung der verteilten Ceph-Software unter Linux

Artikel empfehlen

CSS3-Implementierungscode für den kreisförmigen Fortschritts-Tick-Effekt

Inhaltsverzeichnis 8. Kreisförmiger Fortschritts-...

So starten Sie Tomcat mit jsvc (als normaler Benutzer ausführen)

Einführung in jsvc In der Produktion sollte Tomca...

Eine detaillierte Erklärung der subtilen Unterschiede zwischen Readonly und Disabled

Sowohl die Optionen „Nur lesen“ als auch „Deaktivi...

Erläuterung der Array-Verarbeitung in React und Redux

Dieser Artikel stellt einige häufig verwendete Fu...

Vue implementiert einen Countdown zwischen angegebenen Daten

In diesem Artikelbeispiel wird der spezifische Co...

Eine Kurzanleitung zu Docker

Docker bietet eine Möglichkeit, Software automati...

Lösung für die Willkommensmeldung im Notfallmodus beim Booten von CentOS7.4

Heute habe ich eine virtuelle Maschine für ein Ex...

Der MySQL-Server wird mit der Option --skip-grant-tables ausgeführt.

Der MySQL-Server läuft mit der Option --skip-gran...

Zusammenfassung der Unterschiede zwischen SQL und NoSQL

Hauptunterschiede: 1. Typ SQL-Datenbanken werden ...

Die Komponente vue-cropper realisiert das Zuschneiden und Hochladen von Bildern

In diesem Artikel wird der spezifische Code der V...

Über die praktische Anwendung von HTML-Mailto (E-Mail) sprechen

Wie wir alle wissen, ist „mailto“ ein sehr praktis...