2012-05-23 64 views
-1

这是我的HTML:jQuery的IE变化/ click事件不工作

<div class="sss"> 
    <label class="label_radio" for="radio-01"> 
     <input name="vtip" id="radio-01" value="50" type="radio" /> 
     <img src="http://www.tui-travelcenter.ro/layouts/innobyte/images/radio_50.jpg" width="199" height="241" style="display:block"> 
    </label> 
</div> 
<div class="ddd"> 
    <label class="label_radio1" for="radio-02"> 
     <input name="vtip" id="radio-02" value="100" type="radio" /> 
     <img src="http://www.tui-travelcenter.ro/layouts/innobyte/images/radio_100.jpg" width="199" height="241" style="display:block"> 
    </label> 
</div> 
<div class="clear"></div> 

这是我的javascript:

$(document).ready(function() { 
    $('#radio-01').change(function(){ 
     $(".label_radio").css({background: "#fff"});       
     $(".label_radio1").css({background: "#fff"});         

     if($(this).is(":checked")) {             
      $(".label_radio").css({background: "#000"});  
     } else { 
     $(".label_radio").css({background: "#f00"}) ;   
     } 
    }); 

    $('#radio-02').change(function(){         
     $(".label_radio").css({background: "#fff"});               
     $(".label_radio1").css({background: "#fff"}); 

     if($(this).is(":checked")) $(".label_radio1").css({background: "#000"}); 
     else $(".label_radio1").css({background: "#fff"}) ; 
    }); 
}); 

我有两个单选按钮,有一个自定义图像。点击后,他们改变背景,所以你可以看到它被选中。 (这里是直播:tui-travelcenter.ro/concurs_vouchere.php - 2张图片)。 这在Firefox,Chrome浏览器中运行得很好,但在IE中却不行。

+0

您使用的是什么版本的IE? –

+0

我使用的是IE 9.0.8 – Luna84

+0

我已经在IE 9上测试过了,它完美地工作:S –

回答

1

要在IE中使用此工作,请在代码中使用$(".label_radio1").css({'background-color': "#fff"});而不是$(".label_radio1").css({background: "#fff"});

做同样在你打电话.css(..)


编辑

在IE浏览器,点击事件不会从IMG的标签向上传播,从而影响到所有地方收音机(其标签是)并触发收音机的改变事件。将此代码添加到您的JS以强制事件传播。

$('label img').click(function() { 
    $(this).prev('input').attr('checked', true).change(); 
    return true; 
}); 
+0

Thx的快速回复,但这并没有帮助...我使用IE 9.0.8 – Luna84

+0

我在IE8中测试。在IE9甚至.css('背景'..)应该工作。嗯..你是否改变了所有地方的代码(尤其是你指定#000作为选择颜色的地方)?另外,在背景和着色中有一个标签,这不是我做这件事的最佳方式。您可以对图像本身使用较粗的边框进行清洁。 – techfoobar

+0

是:(就像你说的一样(你可以在这里看到:tui-travelcenter.ro/concurs_vouchere.php):(我讨厌IE ... – Luna84