У меня есть прослушиватель событий на флажке:
<input type="checkbox" name="something">
Мой слушатель событий:
$('input[type="checkbox"][name="something"]').change(function() {
//DO SOMETHING
});
У меня есть еще один прослушиватель событий, который меняет .prop
флажок:
$('#button').click(function() {
$('input[type="checkbox"][name="something"]').prop("checked", false);
});
Когда я ставлю галочку, DO SOMETHING
срабатывает. Когда я нажимаю на #button
, .prop
изменения, и я вижу, что флажок визуально снят, но DO SOMETHING
не срабатывает ...
Что-то я не замечаю?
Ответы:
Событие изменения запускается, когда значение изменяется при взаимодействии пользователя на странице, а не когда значение изменяется с помощью кода.
Здесь нужно использовать
.change()
или.trigger("change")
после изменения свойства:Рабочая демонстрация
источник
prop
позаботился о генерации событий изменения?Template.myTemplate.events
), и это не сработало. Затем я поместил тот же самый код jQuery,Template.myTemplate.rendered
и он работал нормально.