Frage

Ich habe einem JQuery -Widget einen Rückruf hinzugefügt. Es wird Daten in der Konsole ausgegeben, aber wie kann ich sie auf die Daten auf der Seite anwenden?

Beispiel...

In meinen Widget -Optionen habe ich Folgendes zur Verfügung gestellt, um Eingaben zu erhalten:

 complete        : ''

und haben dem Widget auch eine Methode hinzugefügt:

_complete : function(data) {
        if(this.options.complete) {
            console.log(data);
        }
    }

In einer anderen Methode des Widgets mache ich einen Ajax -Anruf und rufe dann diesen auf _complete Methode zum Feuer, nachdem der Ajax beendet ist wie:

self._complete(self.options.complete);

Wenn ich also das Widget benutze, übergende ich etwas an die complete Option wie so:

complete : function(){$('.gridrow').css('background-color','#FFF');}

Ich werde diese Ausgabe in der Konsole sehen wie:

function(){$('.gridrow').css('background-color','#FFF');}

Aber ich möchte das wirklich auf den Code anwenden, damit er die Hintergrundfarbe des Gridrow -Klassens ändert.

Ich kann alles weitergeben und es in der Konsole ausgeben lassen, aber wie wende ich es tatsächlich auf die Seite an?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, warum Sie in die bestehen müssen complete Funktion zu deinem _complete Funktion, sicher können Sie es einfach testen und es dann ausführen. Die Schlüsseländerung ist, dass Sie die aufrufen müssen complete Funktion verwenden ():

_complete : function() {
        if (this.options.complete) {
            this.options.complete(); // execute the input function
        }
    }

Wenn Sie das Ergebnis dieser Funktion an der Konsole protokollieren möchten, stellen Sie dies sicher, dass complete Gibt einen Wert zurück:

complete : function() { return $('.gridrow').css('background-color','#FFF'); }

Dann:

_complete : function() {
        if (this.options.complete) {
            console.log(this.options.complete()); // print the result
        }
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top