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

MySQL-Hochverfügbarkeitslösung MMM (MySQL Multi-Master-Replikationsmanager)

1. Einführung in MMM: MMM steht für Multi-Master ...

Linux Yum-Paketverwaltungsmethode

Einführung yum (Yellow dog Updater, Modified) ist...

Füllen Sie die Suchfunktion auf der HTML-Seite aus

Ich habe kürzlich an einem Framework gearbeitet, ...

So verwenden Sie Typescript zum Kapseln von lokalem Speicher

Inhaltsverzeichnis Vorwort Szenarien für die Verw...

Vue implementiert eine einfache Notizblockfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Schritte zum Erstellen Ihres eigenen YUM-Repositorys

Einfach ausgedrückt lautet die IP der als Lager v...

Eine kurze Analyse von MySQL-Sperren und -Transaktionen

MySQL selbst wurde auf Basis des Dateisystems ent...

Verwendungsanweisungen für den Befehl „Docker Create“

Mit dem Befehl „Docker Create“ können Sie einen C...

js, um einen Ein- und Ausblendeffekt des Bildes zu erzielen

In diesem Artikel wird der spezifische Code von j...

Natives JS zur Implementierung des Spiels 2048

2048 Minispiel, zu Ihrer Information, der spezifi...

Vier Möglichkeiten zum Vergleichen von JavaScript-Objekten

Inhaltsverzeichnis Vorwort Referenzvergleich Manu...

JavaScript – Verwenden von Slots in Vue: Slot

Inhaltsverzeichnis Verwenden von Slots in Vue: Sl...