Utilice una casilla de verificación para alternar la visualización de un elemento de página (¡problemas con IE7!)
-
12-09-2019 - |
Pregunta
Cuando los usuarios marcan la casilla "Mi dirección de envío y mi dirección de facturación son la misma", quiero ocultar el formulario de dirección de envío.
Este código funciona bien en todo excepto en IE:
$("#order_shipping_same_as_billing").change(function() {
$("fieldset.shipping").toggle("blind", { 'direction' : 'vertical' }, 50);
});
IE no registra el evento de cambio hasta que la casilla de verificación pierde el foco, lo que resulta en una experiencia de usuario desagradable.
Muchos sitios de compras (¡y sitios que no son de compras!) hacen cosas como esta: debe haber un método compatible con todos los navegadores que me falta.
Solución
Yo suelo utilizar el en eventos para casillas de verificación en lugar de cambiar . De esta manera funciona en IE también.
$("#order_shipping_same_as_billing").click(function() {
$("fieldset.shipping").toggle("blind", { 'direction' : 'vertical' }, 50);
});
Otros consejos
Utilice el evento click en lugar de evento de cambio. También se activará incluso cuando la casilla de verificación cambia de otra manera que al hacer clic con el ratón.