我有一个输入和一个复选框,当输入聚焦时,它会在其下方显示一些信息。
问题是:当显示这些信息时,如果我单击复选框,它会隐藏信息(因为我的输入不再集中)但复选框未被选中。
这是一个working plunker重现此行为。
有没有办法让 checkbox
在这种情况下被选中?
编辑:
我认为问题是因为输入失去了对事件 mousedown
的关注,并且在事件 mouseup
上选中了复选框(或者可能是 click
) 所以当触发 mouseup
事件时,输入已经失去焦点,所以它下面的消息被隐藏并且复选框向上移动。因此,当触发 mouseup
事件时,光标不再位于复选框上,这就是未选中复选框的原因。
最佳答案
纯 CSS 中没有任何内容。您需要在 JS 上绑定(bind)焦点事件。
像这样:
var input = document.querySelector('#input');
input.addEventListener('focus', function() {
this.classList.add('focus');
});
然后将您的 CSS 从 :focus
更改为 .focus
关于html - 由于 CSS 动画,未处理复选框上的单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49026016/