好吧,我有一個標籤,在這個標籤裏面是一個div,它包含一個圖片和一些文字。該div有一個javascript函數的onClick調用,它改變了標籤內div的顏色,並且還檢查複選框(出於某種原因,IE和firefox不想正確檢查它,chrome工作正常)。 的Javascript:IE onClick不會檢查複選框,除非您單擊標籤中的圖像?
<script language="javascript" type="text/javascript">
function changecolor(id, chck1, firstcolor, secondcolor)
{
divid = document.getElementById(id);
chkboxid = document.getElementById(chck1);
if(chkboxid.checked){
divid.style.background= firstcolor;
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('safari/') == -1){
chkboxid.checked = false ;
}
}
else{
divid.style.background= secondcolor;
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('safari/') == -1){
chkboxid.checked = true ;
}
}
}
HTML:
<input type="checkbox" id="idbox" name="cboxwithlabel" value="Another check box"><label for="idbox"><div class="listing" onClick="changecolor('Test33', 'idbox', '#09C', '#0F0');" id="Test33">Another checkbox<img src="images/checkmark.png" height="80" width="80" /></div></label>
好了,用這個在Firefox正常工作,而Chrome,但IE 7(沒有測試其它版本還),它只會點擊div內的圖片纔會勾選複選框。點擊div本身只會改變背景顏色。那麼有什麼修復IE的工作,所以當你點擊div它也檢查複選框?
擺脫瀏覽器檢測代碼,並再次在所有瀏覽器中嘗試。 – 2009-08-27 17:57:48
如果我擺脫了檢測代碼,它在Chrome/Safari中不起作用。 – John 2009-08-27 17:59:01