Zapis do atrybutu data- * i pobieranie go za pomocą jQuery .data () [duplikat]
Możliwy duplikat:
jQuery .data () Nie aktualizuje DOM
Mam problem z używaniem atrybutu on. Napisałem mały zestaw metod wysyłania połączeń api.
Znaczniki są takie:
<div data-global-id="1318" data-action="unfollow" class="action text-as-link follow-btn btn" style="text-decoration: none;">unfollow</div>
i przechwytywanie zdarzeń w ten sposób:
$(document).on('click','.action', function(){
var t={};
t.args={};
t.args.global_id=$(this).data('global-id');
t.global_id=t.args.global_id;
t.action=$(this).data('action');
t.identifier=t.action + '_v2';
alert('here is action: ' + t.action);
api_post_v1(t);
});
Api_post_v1 poprawnie wysyła połączenie.
Jest jakiś kod do obsługi wywołania zwrotnego i ustawia on znacznik na:
<div data-global-id="1318" data-action="follow" class="action text-as-link follow-btn btn" style="text-decoration: none;">follow</div>
Kod do tego jest następujący:
$foo=$('.action[data-action=unfollow][data-global-id='+global_id+']');
$foo.attr('data-action','follow');
Kluczowym elementem jest akcja danych. Chciałbym, aby powyższe wezwanie do obsługi zdarzeń powiedziało, że jest „obserwuj”, ale mówi, że nadal jest „nie obserwowane”.
Sekwencja jest następująca:
załaduj stronę, data-action = 'unfollow'kliknij to, wywołanie api zostanie wykonane i nie śledzisz tego użytkownika; zestawy wywołań zwrotnych data-action = 'follow'kliknij tę wartość ponownie, a akcja danych zostanie wyświetlona jako „nieprzestrzeganie” zamiast „obserwuj”Jak mogę powiedzieć jQuery, aby odświeżyć powiązania tego wydarzenia? Myślałem, że to właśnie robi $ (dokument) .on.
dzięki