change title javascript
evento de cambio de disparador jquery en la casilla de verificación (4)
Creo que el método preferido desde 1.9.1 es ''on''. Especialmente si usas casillas dinámicamente agregadas.
Digamos que tienes un div con id = ''divCOntent'' y en él hay una casilla de verificación con id = ''cballaut'', podrías hacer esto
$(''#divcontent'').on(''click'', ''#cballaut'', function (e) {
alert(this.checked);
});
¿Es posible activar un evento de cambio en una casilla de verificación utilizando javascript / jquery?
Algo como esto (ejecuto triggerChange al hacer clic en un botón):
<label><input type="checkbox" id="chk"/>Label for chk</label>
<script>
function triggerChange(){
$("#chk").trigger("change");
}
</script>
Cuando ejecuto el código anterior, aparece este error: "el activador no es una función ".
En jQuery, normalmente puede desencadenar un evento llamando a su método de administrador de eventos con cualquier parámetro de función.
Por ejemplo, un controlador de clic se puede asignar como tal:
$(''#mything'').click(function(e){dostuff});
el evento click en sí mismo se puede activar simplemente ejecutando: $(''#mything'').click();
Sospecho que esto se puede hacer para cada evento existente en jQuery.
Ese trigger is not a function
mensaje de error de trigger is not a function
indica que hay algo más en juego. Según esta pregunta SO:
¿Qué sucede cuando no se encuentra un selector de jQuery?
no.good.at.coding
dice:
¡Sin embargo, tenga en cuenta que debe asegurarse de que el selector sea un objeto jQuery! De lo contrario, podría obtener un error que indique que "el activador no es una función".
¿Es probable que te hayas olvidado de jQuery?
En cuanto a su implementación, debe estar bien en la forma en que lo está utilizando. Pero el trigger
debe usarse para desencadenar métodos de eventos en elementos que ya se han adjuntado a través de jQuery. Echa un vistazo a mi demo:
Violín:
Con evento de clic: http://jsfiddle.net/fS4R5/1/
Sin evento de clic: http://jsfiddle.net/fS4R5/2/
HTML:
<label><input type="checkbox" id="chk"/>Label for chk</label>
JS:
function triggerChange(){
$("#chk").trigger("change");
}
$("#chk").change(function() {
alert("triggered!");
});
triggerChange();
Utilice el método de apoyo.
$(''#myCheck'').prop(''checked'', true);
$(''#myCheck'').prop(''checked'', false);