2012-05-23 20 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