IE 8自定义复选框图像

时间:2014-11-24 22:50:39

标签: image checkbox internet-explorer-8

我正在使用自定义图像作为复选框,我在IE 8中看到一些奇怪的行为。为了使用自定义图像,我使用带有背景图像的标签进行选中,检查对焦,取消选中,取消选中焦点,并隐藏复选框。问题是隐藏的复选框导致IE 8错误地显示标签的状态,即,最初点击标签时标签的状态会正确更新,但是,在后续点击事件中,标签只会正确更新,如果点击了两次。有什么建议吗?

'label[for="remember_me"] mousedown' : function(el, ev){
    var rememberMe = $('#remember_me');
    rememberMe.attr('checked', !rememberMe.attr('checked'));
    $(el).attr('checked', !rememberMe.attr('checked'));
},

'label[for="remember_me"] mouseup' : function(el, ev){
    var rememberMe = $('#remember_me');
    rememberMe.attr('checked', !rememberMe.attr('checked'));
    $(el).attr('checked', !rememberMe.attr('checked'));

input[type="checkbox"] {
    display: none;
}

#remember_elements > label {
background: url("../../images/checkmark-unchecked-normal.png") 0 0 no-repeat;
width: 22px;
height: 22px;
float: left;
margin-right: 10px;
}
#remember_elements > label:hover {
background: url("../../images/checkmark-unchecked-focus.png") 0 0 no-repeat;
}
#remember_elements > label[checked="checked"] {
background: url("../../images/test/checkmark-checked-normal-renault.png") 0 0 no-repeat;
}
#remember_elements > label[checked="checked"]:hover {
background: url("../../images/test/checkmark-checked-focus-renault.png") 0 0 no-repeat;
}

1 个答案:

答案 0 :(得分:0)

checked是一个bolean属性。 例如。 两者都有效....与xhtml的互操作性需要完全检查=“已检查”....(xhtml一致性检查要求所有属性都是引用的字符串)....可能在IE8中虽然完全检查=“选中“是必填项。

尝试#elid [checked] i / o #elid [checked =“checked”]

警告词......输入元素也接受键盘事件。空格键还可用于切换输入[type = checkbox]

的checked属性

jquery.mobile具有切换样式复选框覆盖的框架。