2010-09-21 19 views
12

¿Hay algún evento para seleccionar un botón de opción?Evento para seleccionar el botón de radio?

Sé que puedo usar "clic", pero creo que es posible aplicar botones de opción en algunos navegadores de forma que al hacer clic en un área externa de un botón de opción no se seleccione el botón de opción.

¿Qué evento debo usar?

+0

Hola, el clic siempre funcionaría en todos los navegadores. No encuentro lo que quiere decir el área externa ... ¿Desea activar el evento click incluso para las etiquetas? – Vijay

Respuesta

14

Depende de cuándo desea que se le informe del evento.

Si desea saber de inmediato, vaya con click. IE actualiza el estado de checked antes de que se llame a la función de controlador, y yo creo que también lo hacen los otros navegadores. Es posible que desee comprobarlo ya que solo tengo IE para trabajar ahora mismo.

Si solo necesita saber antes de que ocurra algo más, puede usar change. IE no activará el evento change hasta que el botón de opción seleccionado pierda el foco. FF/chrome/others puede activar el evento sin cambiar el foco, pero creo que IE lo está haciendo bien en este caso.

7

Puede usar el evento onchange, que se disparará cuando se cambie la selección de radio (es decir, la primera vez que se hace clic en un botón de opción del grupo o cuando se cambia la selección dentro del grupo).

Vea http://jsfiddle.net/P9Z9Y/1/ para un ejemplo simple (al hacer clic en la etiqueta o en el botón de opción, se disparará un alert si el valor del grupo de radio cambia).

+4

Tenga en cuenta que esto solo se disparará en IE cuando la entrada pierde el foco. Hacer clic en un botón solo mantendría su foco. Le gustaría hacer clic/pestaña en otro lugar a partir de entonces para dejar que pierda el foco y así obtener el evento 'change' para disparar. – BalusC

+1

@Balus, ese no es el caso de los botones de radio en Firefox o Chrome (el cambio en un botón de radio se dispara inmediatamente en un clic que cambia el valor del grupo de radio, e incluso al hacer clic en un asociado '

+0

O IE (volver a la versión 4), NN 4.x, Safari, Opera o incluso el cliente de Lotus Notes. Para campos editables por teclado, sí, pero no para botones de opción. –

1

¿Intentó utilizar el evento onchange?

Cuestiones relacionadas