2011-07-17 49 views
1

您好我正在使用jquery tipsy插件來顯示顏色色板圖像上方的顏色名稱。jquery tipsy不會觸發onclick IE

我想觸發一個複選框,當用戶點擊圖像時選中/取消選中。

$(document).ready(function(){ 
    $('.label_check_colour').click(function(){ 
     setupLabelColour(); 
    }); 
} 

function setupLabelColour() { 
    if ($('.label_check_colour input').length) { 
      $('.label_check_colour').each(function(){ 
       $(this).removeClass('c_on'); 
      }); 
$('.label_check_colour input:checked').each(function(){ 
    $(this).parent('label').addClass('c_on'); 
     });     
    }; 
}; 

HTML

<div class="selectableSwatch"> 
     <label class="label_check_colour" for="colour_1"><input type="checkbox" id="colour_1" name="colour_id[]" value="1" /><img class="colour_tip_1" width="20" src="img/colour-palette/1" /></label> 
</div> 

一切工作在Firefox和Safari很大,但不是在IE8。

請幫助...。

+0

您是否檢查過您使用的CSS樣式在IE8中正常工作? – ipr101

+0

是的,因爲我可以單擊色樣圖像的右側,它會應用onclick(複選框)和所有正確的樣式。它就像一個醉人的插件是在元素的頂部,而不是讓我點擊它。 –

回答

0

嘗試,如果條件這個不斷變化的日

if ($('.label_check_colour input').length>0) { 

,你必須在setupLabelColour功能

function setupLabelColour() { 
    if ($('.label_check_colour input').length) { 
      $('.label_check_colour').each(function(){ 
       $(this).removeClass('c_on'); 
      }); 
     $('.label_check_colour input:checked').each(function(){ 
      $(this).parent('label').addClass('c_on'); 
     });     
    } 
} 

不需要半冒號而你沒有準備好文件功能的右括號。這裏是完整的代碼http://jsfiddle.net/HMk9V/10/。試試我認爲它現在正在工作。

+0

很不幸的工作。 –

+0

我編輯過它。試試我在jsfiddle中的完整代碼 –

+0

即使改爲長度後仍然無法工作> 0 –