使用复选框切换页面元素的显示(IE7问题!)

时间:2009-06-07 18:55:58

标签: jquery internet-explorer-7 checkbox compatibility

当用户选中“我的送货地址和帐单邮寄地址相同”复选框时,我想隐藏送货地址表单。

此代码适用于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,这会带来令人不快的用户体验。

许多购物网站(和非购物网站!)都是这样做的 - 必须有一个我不相称的跨浏览器兼容的方法。

2 个答案:

答案 0 :(得分:4)

我通常使用点击事件来代替更改。这样它也适用于IE。

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

答案 1 :(得分:2)

使用click事件而不是change事件。即使复选框以与鼠标单击相反的方式更改,它也会被触发。