2009-07-27 21 views
5

Hace poco hice una pregunta y publiqué un código, a lo que sugerí cambiar mis manejadores de clics en un cuadro de selección para cambiar.JQuery Click versus Change

Mi pregunta ahora es esta: ¿Debería usar siempre el controlador Change o hay situaciones en las que Click sería apropiado (supongamos que me gustaría la compatibilidad entre navegadores).

EDITAR: Esto es lo que reúno: para cosas como cuadros de selección, Cambiar ES el camino a seguir. Para cosas simples, como imágenes, no hay cambios, por lo que hacer clic es el camino a seguir.

Respuesta

1

El clic no funciona x-broswer, IE no responde a un clic de selección o de opción. El cambio es la única opción disponible.

+0

Gracias, eso es todo lo que necesitaba. – Dirk

+3

Esto es incorrecto. IE no activa el evento de cambio cuando se espera. La mayoría de los navegadores activan el evento de cambio en el momento en que el valor de un elemento ha cambiado. IE, sin embargo, solo dispara el evento de cambio si y solo si el valor ha cambiado después de que el elemento ha perdido el foco. Por lo tanto, para la codificación entre navegadores, es mejor utilizar las listas desplegables de hacer clic y la tecla para los cuadros de texto para las aplicaciones verdaderamente receptivas. De lo contrario, los usuarios tendrán que hacer clic o tabular en el elemento para que su gestión de eventos tenga lugar en el mejor navegador conocido por el hombre. – illvm

+0

@illvm - eso es exactamente lo que estaba tratando de escribir; tuvo que lidiar con esto hace algún tiempo. – montrealist

5

Cuando se trata de controles de formulario, como entradas de texto, cuadros de selección, botones de verificación y de radio, entonces debe usar el evento onChange. Cuando se trata de otras cosas, como enlaces, listas, contenedores, etc., entonces definitivamente debe usar clic, ya que esos elementos no admiten el evento onChange.