2017-09-16 2 views
0

Ich habe einen Code geschrieben, um Vorlieben und Abneigungen Schaltflächen zu aktualisieren. Es funktioniert zum ersten Mal gut. Wenn der Benutzer jedoch erneut auf die Schaltflächen klickt, reagiert er nicht auf Klicks. Ich habe versucht, Klick auf "Klick" zu ändern, wie in ähnlichen Fragen vorgeschlagen.Klicks auf dynamisch erstellten Inhalt funktioniert nicht

$('.like').on('click', function (event) { 
    // My Code 
}); 
+0

Sie tun '.ReplaceAll()' Befehl? –

+0

Ich kann meine Antwort hier nicht mehr posten, finde sie dort: https://stackoverflow.com/a/46251110/1636522 :-) – leaf

Antwort

1

Sie es fälschlicherweise als Ihr Code tut, ist die gleiche wie

$('.like').click(function(e){}). 

Sie sind sowohl direkte Ereignisse verwenden. Bei dynamisch generierten Elementen sind die Ereignisse nicht an sie gebunden. Aber zum Glück sprudeln diese Ereignisse die DOM-Struktur auf, so dass Sie diese an einige äußere Elemente delegieren können. Das ist die Idee von .on() mit einem delegierten Ereignis zu erstellen:

$(document).on('click', '.like', function(event) { 
}) 
1

Was Sie derzeit tun, ist Event-Handling. Sie sollten tatsächlich eine Ereignisdelegierung durchführen.

Und Sie brauchen Ihr .on Klick-Methode wie

$("document").on('click', '.like', function(event){ 
    // Put your code here  
}); 

hoffe, das hilft ändern!

1

Sie sollte unter verwenden, Veranstaltung Delegation tun:

$(document).on('click', '.like', function (event) { 
    // My Code 
}); 
Verwandte Themen