2009-06-07 55 views
3

當用戶選中「我的送貨地址和帳單地址相同」複選框時,我想隱藏送貨地址表單。使用複選框切換頁面元素的顯示(IE7問題!)

此代碼的工作以及在一切,除了IE:

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

IE doesn't register the change event until the checkbox loses focus,這使得不愉快的用戶體驗。

許多購物網站(和非購物網站!)都這樣做 - 必須有一個我缺少的跨瀏覽器兼容方法。

回答

4

我通常使用點擊事件爲複選框而不是更改。這種方式也適用於IE。

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

使用單擊事件而不是更改事件。即使複選框以另一種方式改變,也會被觸發,而不是用鼠標點擊。