Tengo un detector de eventos en una casilla de verificación:
<input type="checkbox" name="something">
Mi oyente de eventos:
$('input[type="checkbox"][name="something"]').change(function() {
//DO SOMETHING
});
Tengo otro detector de eventos que cambia .prop
de la casilla de verificación:
$('#button').click(function() {
$('input[type="checkbox"][name="something"]').prop("checked", false);
});
Cuando marco la casilla de verificación se DO SOMETHING
dispara. Cuando hago clic en #button
, los .prop
cambios y veo la casilla de verificación desmarcada visualmente, pero DO SOMETHING
no se activa ...
¿Algo que estoy pasando por alto?
Respuestas:
El evento de cambio se activa cuando el valor es cambiado por la interacción de los usuarios en la página y no cuando el valor se modifica utilizando el código.
Aquí debe usar
.change()
o.trigger("change")
después de cambiar la propiedad:Demo de trabajo
fuente
prop
se encargó de la generación de eventos de cambio?Template.myTemplate.events
) y no funcionó. Luego puse el mismo código exacto de jQueryTemplate.myTemplate.rendered
y funcionó bien.