Heim Web-Frontend js-Tutorial Grundlegende Implementierung und Verwendung von jQuery Callback

Grundlegende Implementierung und Verwendung von jQuery Callback

Jun 16, 2017 pm 02:32 PM
jquery 使用方法 基本 实现

Da es in der js-Entwicklung kein Multithreading gibt, stoßen wir häufig auf das Konzept des Rückrufs. Registrieren Sie beispielsweise eine Rückruffunktion in der Bereitschaftsfunktion, registrieren Sie die Ereignisverarbeitung von Elementen usw. In komplexeren Szenarien müssen beim Eintreten eines Ereignisses möglicherweise mehrere Rückrufmethoden gleichzeitig ausgeführt werden. Die direkt in Betracht gezogene Implementierung besteht darin, eine Warteschlange zu implementieren und alle Funktionen, die Rückrufe erfordern, zu dieser Warteschlange hinzuzufügen Zur Speicherung werden die gespeicherten Funktionen nacheinander aus dieser Warteschlange abgerufen und ausgeführt.

Übersicht

Abkürzung für $(document).ready().

ermöglicht Ihnen das Binden einer Funktion, die nach dem Laden des DOM-Dokuments ausgeführt werden soll. Diese Funktion funktioniert genauso wie $(document).ready(), außer dass Sie bei Verwendung dieser Funktion alle $()-Operatoren in die Seite einschließen müssen, die beim Laden des DOM ausgeführt werden müssen. Technisch gesehen ist diese Funktion verkettbar – aber nicht viele Fälle verknüpfen tatsächlich auf diese Weise. Sie können eine beliebige Anzahl von $(document).ready-Ereignissen auf einer Seite verwenden. Weitere Informationen zum Ready-Ereignis finden Sie unter ready(Function).

Parameter

callbackFunctionV1.0

Die Funktion, die beim Laden des DOM ausgeführt werden soll

kann einfach wie folgt implementiert werden .

Implementieren Sie zunächst eine Klassenfunktion, um diese Rückrufklasse darzustellen. Verwenden Sie in Javascript ein Array, um diese Warteschlange darzustellen.

function Callbacks() {    this.list = [];
}
Nach dem Login kopieren

Implementieren Sie dann die Methoden in der Klasse durch den Prototyp. Die hinzugefügten und gelöschten Funktionen werden im Array gespeichert. Beim Auslösen können Sie Parameter angeben, die an jede Callback-Funktion übergeben werden.

Callbacks.prototype = {
    add: function(fn) {
        this.list.push(fn);
    },
    remove: function(fn){
        var position = this.list.indexOf(fn);
        if( position >=0){
            this.list.splice(position, 1);
        }
    },
    fire: function(args){
        for(var i=0; i<this.list.length; i++){
            var fn = this.list[i];
            fn(args);
        }
    }
};
Nach dem Login kopieren

Der Testcode lautet wie folgt:

function fn1(args){
    console.log("fn1: " + args);
}
function fn2(args){
    console.log("fn2: " + args);
}
var callbacks = new Callbacks();
callbacks.add(fn1);
callbacks.fire("Alice");
callbacks.add(fn2);
callbacks.fire("Tom");
callbacks.remove(fn1);
callbacks.fire("Grace");
Nach dem Login kopieren

Oder verwenden Sie keine Prototypen und implementieren Sie diese direkt durch Abschlüsse.

function Callbacks() {
    
    var list = [];
    
    return {
         add: function(fn) {
            list.push(fn);
        },
        
        remove: function(fn){
            var position = list.indexOf(fn);
            if( position >=0){
                list.splice(position, 1);
            }
        },
        
        fire: function(args) {
            for(var i=0; i<list.length; i++){
                var fn = list[i];
                fn(args);
            }    
        }
    };
}
Nach dem Login kopieren

In diesem Fall muss auch der Beispielcode angepasst werden. Wir können die Callbacks-Funktion einfach direkt verwenden.

function fn1(args){
    console.log("fn1: " + args);
}
function fn2(args){
    console.log("fn2: " + args);
}
var callbacks = Callbacks();
callbacks.add(fn1);
callbacks.fire("Alice");
callbacks.add(fn2);
callbacks.fire("Tom");
callbacks.remove(fn1);
callbacks.fire("Grace");
Nach dem Login kopieren

Fahren wir mit der zweiten Methode fort.

Für komplexere Szenarien müssen wir nur einmal feuern. Selbst wenn Feuer in der Zukunft aufgerufen wird, wird es nicht mehr wirksam.

Zum Beispiel kann es beim Erstellen eines Objekts so aussehen. Die Verwendung von Once bedeutet hier, dass nur einmal ausgelöst werden kann.

var callbacks = Callbacks("once");

Dann muss auch unser Code angepasst werden. Tatsächlich ist es sehr einfach. Wenn einmal festgelegt ist, wird nach dem Auslösen einfach die ursprüngliche Warteschlange beendet.

function Callbacks(options) {
    var once = options === "once";
    var list = [];
    
    return {
         add: function(fn) {
            if(list){
                list.push(fn);
            }
        },
        
        remove: function(fn){
            if(list){
                var position = list.indexOf(fn);
                if( position >=0){
                    list.splice(position, 1);
                }
            }
        },
        
        fire: function(args) {
            if(list)
            {
                for(var i=0; i<list.length; i++){
                    var fn = list[i];
                    fn(args);
                }
            }
            if( once ){
                list = undefined;
            }
        }
    };
}
Nach dem Login kopieren

In jQuery wird nicht nur einmal bereitgestellt, sondern es werden vier verschiedene Arten von Methoden bereitgestellt:

einmal: kann nur einmal ausgelöst werden.

Speicher: Wenn die Warteschlange ausgelöst wurde, wird die hinzugefügte Funktion direkt aufgerufen, ohne sie erneut auszulösen.

unique: Garantierte Eindeutigkeit der Funktion

stopOnFalse: Solange ein Callback false zurückgibt, werden nachfolgende Aufrufe unterbrochen.

Diese vier Methoden können kombiniert werden. Verwenden Sie einfach Leerzeichen, um sie im Konstruktor zu trennen, z. B. $.Callbacks("once Memory Unique");

Die offizielle Dokumentation enthält einige Beispiele für Verwendungsmethoden .

callbacks.add(fn1, [fn2, fn3,...])//Einen/mehrere Rückrufe hinzufügen
callbacks.remove(fn1, [fn2, fn3,...])/ / Einen/mehrere Rückrufe entfernen
callbacks.fire(args)//Rückruf auslösen, Argumente an fn1/fn2/fn3 übergeben...
callbacks.fireWith(context, args)//Kontextkontext angeben und dann Rückruf auslösen
callbacks.lock()//Sperren Sie den aktuellen Auslösestatus der Warteschlange
callbacks.disable()//Deaktivieren Sie den Manager, das heißt, alle Brände werden nicht wirksam

Das obige ist der detaillierte Inhalt vonGrundlegende Implementierung und Verwendung von jQuery Callback. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich das DirectX-Reparaturtool? Detaillierte Verwendung des DirectX-Reparaturtools Wie verwende ich das DirectX-Reparaturtool? Detaillierte Verwendung des DirectX-Reparaturtools Mar 15, 2024 am 08:31 AM

Das DirectX-Reparaturtool ist ein professionelles Systemtool. Seine Hauptfunktion besteht darin, den DirectX-Status des aktuellen Systems zu erkennen. Möglicherweise wissen viele Benutzer nicht, wie man das DirectX-Reparaturtool verwendet. Schauen wir uns das ausführliche Tutorial unten an. 1. Verwenden Sie die Reparaturtool-Software, um die Reparaturerkennung durchzuführen. 2. Wenn nach Abschluss der Reparatur angezeigt wird, dass ein ungewöhnliches Problem in der C++-Komponente vorliegt, klicken Sie bitte auf die Schaltfläche „Abbrechen“ und dann auf die Menüleiste „Extras“. 3. Klicken Sie auf die Schaltfläche „Optionen“, wählen Sie die Erweiterung aus und klicken Sie auf die Schaltfläche „Erweiterung starten“. 4. Nachdem die Erweiterung abgeschlossen ist, erkennen und reparieren Sie sie erneut. 5. Wenn das Problem nach Abschluss des Reparaturtoolvorgangs immer noch nicht behoben ist, können Sie versuchen, das Programm, das den Fehler gemeldet hat, zu deinstallieren und erneut zu installieren.

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mar 24, 2024 am 11:27 AM

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mit dem Aufkommen der sozialen Medien ist WeChat zu einem unverzichtbaren Kommunikationsmittel im täglichen Leben der Menschen geworden. Viele Menschen können jedoch auf ein Problem stoßen: Sie können sich gleichzeitig auf demselben Mobiltelefon bei mehreren WeChat-Konten anmelden. Für Huawei-Mobiltelefonbenutzer ist es nicht schwierig, eine doppelte WeChat-Anmeldung zu erreichen. In diesem Artikel wird erläutert, wie eine doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen erreicht wird. Erstens bietet das EMUI-System, das mit Huawei-Mobiltelefonen geliefert wird, eine sehr praktische Funktion – das doppelte Öffnen von Anwendungen. Durch die doppelte Öffnungsfunktion der Anwendung können Benutzer gleichzeitig

So verwenden Sie Baidu Netdisk – So verwenden Sie Baidu Netdisk So verwenden Sie Baidu Netdisk – So verwenden Sie Baidu Netdisk Mar 04, 2024 pm 09:28 PM

Viele Freunde wissen immer noch nicht, wie man Baidu Netdisk verwendet, daher wird der Herausgeber unten erklären, wie man Baidu Netdisk verwendet. Wenn Sie es brauchen, schauen Sie es sich meiner Meinung nach an. Schritt 1: Melden Sie sich direkt nach der Installation von Baidu Netdisk an (wie im Bild gezeigt); Schritt 2: Wählen Sie dann „Meine Freigabe“ und „Übertragungsliste“ gemäß den Seitenaufforderungen (wie im Bild gezeigt); Friend Sharing“ können Sie Bilder und Dateien direkt mit Freunden teilen (wie im Bild gezeigt); Schritt 4: Wählen Sie dann „Teilen“ und wählen Sie dann Computerdateien oder Netzwerkfestplattendateien aus (wie im Bild gezeigt); Fünfter Schritt 1: Dann können Sie Freunde finden (wie im Bild gezeigt); Schritt 6: Die benötigten Funktionen finden Sie auch in der „Funktionsschatzkiste“ (wie im Bild gezeigt). Das Obige ist die Meinung des Herausgebers

PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge Mar 20, 2024 pm 04:54 PM

Die Programmiersprache PHP ist ein leistungsstarkes Werkzeug für die Webentwicklung, das eine Vielzahl unterschiedlicher Programmierlogiken und Algorithmen unterstützen kann. Unter diesen ist die Implementierung der Fibonacci-Folge ein häufiges und klassisches Programmierproblem. In diesem Artikel stellen wir vor, wie Sie die Fibonacci-Folge mit der Programmiersprache PHP implementieren, und fügen spezifische Codebeispiele bei. Die Fibonacci-Folge ist eine mathematische Folge, die wie folgt definiert ist: Das erste und das zweite Element der Folge sind 1, und ab dem dritten Element ist der Wert jedes Elements gleich der Summe der beiden vorherigen Elemente. Die ersten paar Elemente der Sequenz

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mar 24, 2024 pm 06:03 PM

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mit der Popularität sozialer Software und der zunehmenden Bedeutung von Datenschutz und Sicherheit rückt die WeChat-Klonfunktion allmählich in den Mittelpunkt der Aufmerksamkeit der Menschen. Die WeChat-Klonfunktion kann Benutzern helfen, sich gleichzeitig bei mehreren WeChat-Konten auf demselben Mobiltelefon anzumelden, was die Verwaltung und Nutzung erleichtert. Es ist nicht schwierig, die WeChat-Klonfunktion auf Huawei-Mobiltelefonen zu implementieren. Sie müssen lediglich die folgenden Schritte ausführen. Schritt 1: Stellen Sie sicher, dass die Version Ihres Mobiltelefonsystems und die WeChat-Version den Anforderungen entsprechen. Stellen Sie zunächst sicher, dass die Version Ihres Huawei-Mobiltelefonsystems sowie die WeChat-App auf die neueste Version aktualisiert wurden.

Mar 18, 2024 am 11:07 AM

Das KMS Activation Tool ist ein Softwaretool zur Aktivierung von Microsoft Windows- und Office-Produkten. KMS ist die Abkürzung für KeyManagementService, einen Schlüsselverwaltungsdienst. Das KMS-Aktivierungstool simuliert die Funktionen des KMS-Servers, sodass der Computer eine Verbindung zum virtuellen KMS-Server herstellen kann, um Windows- und Office-Produkte zu aktivieren. Das KMS-Aktivierungstool ist klein und leistungsstark und kann mit einem Klick dauerhaft aktiviert werden. Es kann jede Version des Windows-Systems und jede Version der Office-Software aktivieren, ohne dass eine Verbindung zum Internet besteht und häufig aktualisiertes Windows-Aktivierungstool. Heute werde ich es Ihnen vorstellen. Lassen Sie mich Ihnen die kms-Aktivierungsarbeit vorstellen

So verwenden Sie Potplayer – So verwenden Sie Potplayer So verwenden Sie Potplayer – So verwenden Sie Potplayer Mar 04, 2024 pm 06:10 PM

Potplayer ist ein sehr leistungsfähiger Mediaplayer, aber viele Freunde wissen immer noch nicht, wie man Potplayer verwendet. Heute werde ich die Verwendung von Potplayer im Detail vorstellen und hoffe, allen zu helfen. 1. PotPlayer-Tastenkombinationen Die standardmäßigen Tastenkombinationen für den PotPlayer-Player sind wie folgt: (1) Wiedergabe/Pause: Leertaste (2) Lautstärke: Mausrad, Pfeiltasten nach oben und unten (3) Vorwärts/Rückwärts: Pfeil nach links und rechts Tasten (4) Lesezeichen: P- Lesezeichen hinzufügen, H-View-Lesezeichen (5) Vollbild/Wiederherstellen: Eingabe (6) Geschwindigkeit: C-Beschleunigung, 7) Vorheriges/nächstes Bild: D/

So verwenden Sie das Xiaomi Win7-Aktivierungstool - So verwenden Sie das Xiaomi Win7-Aktivierungstool So verwenden Sie das Xiaomi Win7-Aktivierungstool - So verwenden Sie das Xiaomi Win7-Aktivierungstool Mar 04, 2024 pm 06:16 PM

Ich glaube, dass viele Benutzer das Xiaomi Win7-Aktivierungstool verwenden, aber wissen Sie, wie man das Xiaomi Win7-Aktivierungstool verwendet? Dann zeigt Ihnen der Editor, wie man das Xiaomi Win7-Aktivierungstool verwendet. Bitte kommen Sie zum folgenden Artikel. Mal sehen. Der erste Schritt besteht darin, nach der Neuinstallation des Systems zu „Arbeitsplatz“ zu gehen, im oberen Menü auf „Systemeigenschaften“ zu klicken und den Windows-Aktivierungsstatus zu überprüfen. Klicken Sie im zweiten Schritt, um das Win7-Aktivierungstool online herunterzuladen, und klicken Sie, um es zu öffnen (es sind überall viele Ressourcen verfügbar). Der dritte Schritt besteht darin, das Xiaomi-Aktivierungstool zu öffnen und auf „Windows dauerhaft aktivieren“ zu klicken. Der vierte Schritt besteht darin, darauf zu warten, dass der Aktivierungsprozess die Aktivierung abschließt. Schritt 5: Überprüfen Sie den Windows-Aktivierungsstatus erneut und stellen Sie fest, dass das System aktiviert wurde.

See all articles