Encontré una solución para mi caso específico que podría ayudar. Esto funciona cuando el evento "deselect" se puede aplicar a todos los botones de opción que no están seleccionados.
yo quería:
- agregar una clase al elemento cuando se selecciona el botón de radio , y
- eliminar esa clase cuando el botón se "desactivada".
me pasó a encontrar a esta pregunta, porque tenía el mismo problema:
$('input:radio').on('change', function() {
if($(this).is(':checked')) {
$(this).addClass('my-class-for-selected-buttons')
} else { // THIS WILL NEVER HAPPEN
$(this).removeClass('my-class-for-selected-buttons')
}
});
Pero, en mi caso, la solución fue bastante más fácil, porque puedo tratar de eliminar la clase de todo los botones de radio bastante simplemente con jQuery, y luego añadir la clase a la seleccionada:
$('input:radio').on('change', function() {
$('input:radio').removeClass('my-class-for-selected-buttons') // Here!
if($(this).is(':checked')) {
$(this).addClass('my-class-for-selected-buttons')
}
});
con este simple cambio, que no necesitaba encontrar una manera de activar el evento "Deseleccionar".
Por lo tanto, si en su caso puede aplicar el evento a todos los botones de opción que no están seleccionados, y no solo al que acaba de ser "deseleccionado", puede usar esta medida.
¿Por qué el voto a favor? – tskuzzy
usuario no puede anular la selección de una radio ... ¿qué quieres hacer? – charlietfl
El usuario puede anular la selección de una radio pero seleccionando otro botón de opción. – tskuzzy