Ich habe ein Problem mit dem on-Attribut. Ich habe eine kleine Reihe von Methoden geschrieben, um API-Anrufe zu senden.
Das Markup ist wie folgt:
%Vor%und eine Ereignisaufzeichnung wie folgt erhalten:
%Vor%Die api_post_v1 sendet den Anruf korrekt.
Es gibt Code, der den Callback behandelt, und er setzt das Markup auf:
%Vor%Der Code dafür ist wie folgt:
%Vor%Das Schlüsselstück ist die Datenaktion. Ich möchte den Aufruf an den Event-Handler oben, um zu sagen, es ist "folgen", aber es sagt, es ist immer noch "unfollow".
Die Reihenfolge ist die folgende:
Wie kann ich jQuery sagen, dass es die Bindungen dieses Ereignisses aktualisiert? Ich dachte, das wäre was $ (Dokument) .on tut.
thx
Die Attribute data-*
& amp; jQuerys .data()
Methode ist nicht austauschbar. Verwenden Sie dies, um es zu bekommen:
Sie scheinen die Methode data
von jQuery mit den% com_de% -Attributen von HTML5 zu mischen. Dies sind zwei verschiedene Dinge. Sie interagieren nur miteinander, wenn Sie data-*
für ein Element aufrufen.
Wenn Sie .data
aufrufen, sucht jQuery nach allen .data
-Attributen und fügt sie der data-*
-Auflistung hinzu. Dies geschieht jedoch nur einmal . Nachfolgende Aufrufe von data
sehen nicht die .data
-Attribute des Elements an.
Um die jQuery-Dokumente zu zitieren:
Die Attribute
data-*
werden beim ersten Zugriff auf die Dateneigenschaft abgerufen und werden dann nicht mehr abgerufen oder mutiert (alle Datenwerte werden dann intern in jQuery gespeichert).
Da Sie data-
verwenden, um es zu setzen, sollten Sie .attr('data-action', 'follow')
verwenden, um es zu erhalten.
Hinweis: .attr('data-action')
wird kein Element auswählen, für das $('.action[data-action=unfollow]')
über jQuerys action
festgelegt wurde. Auch hier sind die beiden nicht austauschbar.
Tags und Links jquery