2016-04-08 10 views
0

mit dem folgenden Beispiel ...jQuery: Speichern von Daten zwischen benutzerdefinierten Ereignissen

$("#some-id").on("custom-event-1", function() 
{ 
    this.someData = "test"; 
}).on("custom-event-2", function() 
{ 
    var test = this.someData; 
    ... 
}); 

... Ich bin in der Lage zu speichern und die Datenübertragung zwischen benutzerdefinierten Ereignis-1 und custom-Ereignis-2, jedoch Ist das der richtige Weg, dies zu tun? Es funktioniert, aber ich bin mir nicht sicher, ob die Dinge auf diese Weise erledigt werden sollten oder ob stattdessen die jQuery-Datenmethode verwendet werden soll. Wenn dieser Ansatz akzeptabel ist, wo genau werden die Daten gespeichert? Ich verstehe, wo die jQuery-Datenmethode die Daten speichert, aber das obige Beispiel ist mir nicht sicher.

+0

Sie hatten Recht mit meiner Antwort. Löschte es. Es tut uns leid. Mein Fehler. –

Antwort

0

Ich würde Ihnen empfehlen, .data(id,value) zu verwenden.

DOM-Elemente sind wie ein normales Objekt. Bsp .: Ein Div ist eine Instanz des Prototyps HTMLDivElement. Testen Sie es über document.createElement('div').constructor.

Doing this.someData = 1 ist ähnlich wie a = new Date(); a.someData = 1 oder a = []; a.someData = 1.

Es funktioniert, aber es ist nicht "sauber". Es gibt Leistungskosten, um die Struktur eines Objekts zu ändern. Und Sie nehmen an, dass das Objekt someData nicht bereits für etwas anderes verwendet wird.

Mit .data() sind Sie sicher.

Verwandte Themen