我做错了吗?为什么 click
事件不会在第一个keydown上注册?
http://jsfiddle.net/vol7ron/VJ5CX/
在示例中,
注意没有调用change()事件。再次使用空格键选择相同的选项,并注意它正常工作。
答案 0 :(得分:1)
我在初始加载时使用模糊/焦点。显然我需要在keydown事件中模糊/聚焦:
if (e.keyCode == 13 || e.keyCode == 32) {
var cb = container.find('label.x-hover input:checkbox');
cb.blur(); // <-- added
cb.focus(); // <-- added
cb.click();
updateLog('keydown');
oTitle.focus();
return false;
}
答案 1 :(得分:0)
尝试这样做。它也发生在我身上。但我试过这个,它有所帮助。我不确定这是否有效。
container
.find('input[type="checkbox"]')
.change(function(){
var cb = $(this);
var sClass = "checked";
if (cb.prop(sClass)) {
cb.parent('label').addClass(sClass);
} else {
cb.parent('label').removeClass(sClass);
}
updateLog('click');
oTitle.focus();
})