Используйте флажок, чтобы переключить отображение элемента страницы (проблемы с IE7!) - PullRequest
3 голосов
/ 07 июня 2009

Когда пользователи отмечают флажок «Мой адрес доставки и адрес выставления счета одинаковы», я хочу скрыть форму адреса доставки.

Этот код хорошо работает во всем, кроме IE:

$("#order_shipping_same_as_billing").change(function() { 
  $("fieldset.shipping").toggle("blind", { 'direction' : 'vertical' }, 50);
});

IE не регистрирует событие изменения, пока флажок не потеряет фокус , что создает неприятные ощущения для пользователя.

Многие торговые сайты (и не относящиеся к магазинам!) Делают подобные вещи - должен быть метод, совместимый с разными браузерами, который мне не хватает.

Ответы [ 2 ]

4 голосов
/ 07 июня 2009

Я обычно использую событие click для флажков вместо change . Таким образом, это работает и в IE.

$("#order_shipping_same_as_billing").click(function() { 
  $("fieldset.shipping").toggle("blind", { 'direction' : 'vertical' }, 50);
});
2 голосов
/ 07 июня 2009

Используйте событие нажатия вместо события изменения. Он также будет срабатывать, даже если флажок меняется не щелчком мыши.

...