Mam odbiornik zdarzeń na polu wyboru:
<input type="checkbox" name="something">
Mój odbiornik wydarzeń:
$('input[type="checkbox"][name="something"]').change(function() {
//DO SOMETHING
});
Mam innego odbiornika zdarzeń, który zmienia .prop
pole wyboru:
$('#button').click(function() {
$('input[type="checkbox"][name="something"]').prop("checked", false);
});
Kiedy zaznaczam DO SOMETHING
wyzwalacze pola wyboru . Kiedy klikam na #button
, .prop
zmiany i widzę pole wyboru, które wizualnie odznacza, ale DO SOMETHING
nie jest uruchamiane ...
Coś, co przeoczę?
Odpowiedzi:
Zdarzenie Change jest uruchamiane, gdy wartość zostanie zmieniona w wyniku interakcji użytkownika na stronie, a nie, gdy wartość zostanie zmodyfikowana za pomocą kodu.
Tutaj musisz użyć
.change()
lub.trigger("change")
po zmianie właściwości:Działające demo
źródło
prop
zadbałem o zmianę generowania zdarzeń?Template.myTemplate.events
) i to nie działało. Następnie umieściłem ten sam dokładny kod jQuery pod spodemTemplate.myTemplate.rendered
i wszystko działało dobrze.