所以,我有这个奇怪的IE10-Bug(IE11正常工作):
我有一个像这样的复选框:
<div class="select-row row-b">
<p>some text</p>
<label><input type="checkbox" name="checkboxGroupA" data-index="1" value="A1"/>A1</label>
</div>
使用Fancyform - jQuery-Plugin v 1.4.2,似乎Fancyform for IE10中存在一个错误:
所以假装这是我的复选框(有点样式):[A1] 单击边框内的某个位置(在[]内部)可以正常工作。选中复选框。但直接单击文本(标签,“A1”)不起作用,复选框状态不会从未选中更改为已检查。
我添加了一个console.log(“...”); to fancyforms transformCheckbox-method就在这里:
check: function () {
console.log("setting check");
method.setProp(this, "checked", 1);
},
只是向我展示了同样的东西。当我点击标签时,“check”不会被触发。
在这里得到一些提示会很棒,因为我现在已经没有想法了。
最诚挚的问候, DOM
答案 0 :(得分:2)
我遇到了同样的问题,在这种情况下你需要绑定事件,因为IE版本。
$(".select-row row-b label").bind('click',function(){
$('input',this).attr("checked",true);
})
编辑:根据这个答案,这是我的工作代码。我在这里编辑这段代码,因为你需要注意几个副作用:
this.$rowLbls = $(this.$el.find('.row-alter label')); //might be $('yourdomelement', 'yoursecond...'')
this.$rowLbls.click(function(event) {
var ele = $(this).find('input');
if( $(event.target).is("label") ) { //check exactly for label, because fired twice if not => would work just once
if(ele.is(':checked')){
ele.prop('checked', false); //prop instead of attr for true/false
} else{
ele.prop('checked', true);
}
}
});