Das Problem ist, dass ich einige dynamisch erstellte Sätze von Eingabe-Tags habe und auch eine Funktion habe, die jedes Mal ausgelöst werden soll, wenn ein Eingabewert geändert wird.
$('input').on('change', function() {
// Does some stuff and logs the event to the console
});
Dies .on('change')
wird jedoch nicht für dynamisch erstellte Eingaben ausgelöst, sondern nur für Elemente, die beim Laden der Seite vorhanden waren. Leider lässt mich das ein bisschen hängen .on
, da es der Ersatz für sein soll .live()
und .delegate()
alle Wrapper für .bind()
: /
Hat jemand anderes dieses Problem gehabt oder eine Lösung gekannt?
quelle
$(document).on({ change: handleChange }, 'input');
plus die Funktionconst handleChange = (event) => { $(event.target)...
Es ist schön, die Probleme zu vermeidenthis
.Benutze das
quelle
$('#id')
im Code anstelle von'#id'
Sie können einen beliebigen Ansatz anwenden:
quelle
quelle
Nur um mögliche Verwirrung zu klären. Dies funktioniert nur, wenn beim DOM-Laden ein Element vorhanden ist:
Wenn ein Element später dynamisch geladen wird, können Sie Folgendes verwenden:
quelle
quelle
Sie können das Ereignis 'input' verwenden, das auftritt, wenn ein Element Benutzereingaben erhält.
Dokumentation von w3
quelle
Sie können verwenden:
Es funktioniert bei mir.
quelle