Ejemplo simple,
funciona como se esperaba ...
http://jsfiddle.net/yp128r1e/
@hilem En realidad, esto no es un problema con todos los tipos de eventos. Parece ser específicamente un problema con el clic. Sospecho que Ember está impidiendo el comportamiento de evento predeterminado que el navegador considera que la casilla de verificación no debería cambiar de estado. No creo que esto sea un error. La solución sería no aplicar un controlador de acciones de esta manera si también desea manejar otras cosas como casillas de verificación.
@wagenet Este es un patrón de diseño muy común. Para poder hacer clic en cualquier lugar de una fila para seleccionar una fila y no solo la casilla de verificación de la fila. La casilla de verificación se agrega simplemente para reforzar que es seleccionable y por razones de accesibilidad, y lo que me está diciendo es que la única forma de lidiar con ella es básicamente no usar una casilla de verificación, sino falsificar una casilla de verificación con imágenes o lo que sea. Como no hay otra forma de manejar esto. Lo que supone una gran carga para las pruebas de accesibilidad que, de otro modo, estarían bien. Por cierto, esto no es un problema con otros elementos de formulario. Solo he detectado este comportamiento con la casilla de verificación. Una cosa es decir que Ember necesita apostar sobre este tema por un tiempo, ya que es demasiado difícil de manejar la forma en que está diseñado el código actualmente, pero no veo cómo se puede argumentar que esto no es un error.
De forma predeterminada, el asistente de acción evita la acción predeterminada. En este caso, eso significa que las casillas de verificación no se activarán. Puede anular esto configurando preventsDefault=false
en el asistente. Consulte http://jsfiddle.net/yp128r1e/3/.
¡Gracias @wagenet !
Comentario más útil
De forma predeterminada, el asistente de acción evita la acción predeterminada. En este caso, eso significa que las casillas de verificación no se activarán. Puede anular esto configurando
preventsDefault=false
en el asistente. Consulte http://jsfiddle.net/yp128r1e/3/.