Ich habe einen Ereignis-Listener auf einem Kontrollkästchen:
<input type="checkbox" name="something">
Mein Event-Listener:
$('input[type="checkbox"][name="something"]').change(function() {
//DO SOMETHING
});
Ich habe einen anderen Ereignis-Listener, .prop
der das Kontrollkästchen ändert :
$('#button').click(function() {
$('input[type="checkbox"][name="something"]').prop("checked", false);
});
Wenn ich das Kontrollkästchen aktiviere, wird DO SOMETHING
ausgelöst. Wenn ich auf klicke #button
, werden die .prop
Änderungen und das Kontrollkästchen visuell deaktiviert, aber DO SOMETHING
nicht ausgelöst ...
Etwas, das ich übersehen habe?
Antworten:
Das Änderungsereignis wird ausgelöst, wenn der Wert durch die Benutzerinteraktion auf der Seite geändert wird und nicht, wenn der Wert mithilfe von Code geändert wird.
Hier müssen Sie verwenden
.change()
oder.trigger("change")
nach dem Ändern der Eigenschaft:Arbeitsdemo
quelle
prop
kümmere mich um die Generierung von Änderungsereignissen?Template.myTemplate.events
) gemacht und es hat nicht funktioniert. Ich habe dann den gleichen exakten jQuery-Code unterTemplate.myTemplate.rendered
und es lief gut.