html - 由于 CSS 动画,未处理复选框上的单击事件

标签 html css checkbox event-handling webkit-animation

我有一个输入和一个复选框,当输入聚焦时,它会在其下方显示一些信息。

问题是:当显示这些信息时,如果我单击复选框,它会隐藏信息(因为我的输入不再集中)但复选框未被选中。

这是一个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/

相关文章:

html - 我想在小屏幕上使用 google adsense 横幅调整我的段落

javascript - 优化 JS 代码以在悬停时显示某些 Div

JavaScript:如何在键绑定(bind)上发送 HTTP post 请求

html - 当我应用 CSS 类时,该类已应用但类为空

javascript - 除非选中单选按钮,否则如何使复选框变灰?

HTML继承页面布局

html - 如何使div响应

css - 如何为 Django 中的所有内置表单小部件设置默认 css 类

jquery - 许多复选框组和 "select all"

javascript - 验证动态单选按钮、复选框和文本区域