为什么IE需要我点击两次

时间:2012-01-10 01:07:30

标签: javascript jquery internet-explorer

我有这个jQuery

    $('.billing_info').click(function(e){
        e.preventDefault();
        if(($('.shipping_selection').length) > 0){
            if ($('.shipping_selection:checked').length == 0){
                $('.hide_error').show();
                $("html, body").animate({ scrollTop: $(".hide_error").offset().top }, "slow");
                $(".hide_error").effect("highlight", {}, 4000);
                return false;
            }else{
                $('.billing_info').unbind("click");
                $('.billing_info').click();
            }   
        }else{
            $('.billing_info').unbind("click");
            $('.billing_info').click();
        }
    });
除了IE之外,

在所有浏览器中都很棒。我正在使用IE8,用户需要点击两次按钮才能接受点击事件,即使有一个单选按钮$('。shipping_selection')点击

1 个答案:

答案 0 :(得分:1)

也许一点点重构会有所帮助。只在需要时阻止默认,否则让函数传递给默认的提交事件。

$('.billing_info').click(function(e){
    if(($('.shipping_selection').length) > 0 && $('.shipping_selection:checked').length == 0){
            e.preventDefault();
            $('.hide_error').show();
            $("html, body").animate({ scrollTop: $(".hide_error").offset().top }, "slow");
            $(".hide_error").effect("highlight", {}, 4000);
            return false;
    }
});