禁用字段集中图例中的复选框未触发

问题描述

我读过 this question 并且几乎是同样的问题,但使用 vanilla JS 代替 React,使用 MS Edge (Chromium) 代替 Firefox。

在一个表单中,我默认禁用了一个字段集。它有一个图例,在那个图例中是一个带有复选框和文本的标签;该复选框有一个数据属性“toggle”,其值是字段集的名称以启用/禁用...

<fieldset name="groupofinputs" disabled>
  <legend><label><input type="checkbox" data-toggle="groupofinputs" /><span>Use this group?</span></label></legend>
  <!-- ...some related inputs... -->
</fieldset>

我有一个简短的脚本作为表单本身“输入”事件的侦听器...

theForm.addEventListener('input',function(e) {
  let el = e.srcElement;
  if (el.dataset['toggle']) {
    theForm.elements[el.dataset['toggle']].disabled = !el.checked;
  }
});

...非常简化并省略了此示例的错误检查,但我希望您明白这一点。

当字段集没有被禁用时,复选框的状态被正确处理并且监听器被触发。然而,当字段集被禁用时,即使它以前被启用并且取消选中复选框是禁用它的原因,用鼠标单击复选框不会触发 oninput 或 onchange 甚至 onclick。复选框的状态仍然可以在控制台中更改,使用 Tab 键切换到复选框并按空格正确触发输入/更改/点击/等事件。好像只用鼠标直接点击是不行的。

这似乎只发生在 Edge Dev v90 中,根据规范在 Edge Stable v88 中工作(禁用字段集中的字段被禁用,除非它们在其图例中),但因为我只有 Edge Stable 和 Edge Dev这台电脑我不确定它是否发生在其他基于 v90 Chromium 的浏览器和 Firefox 上,所以我不知道在哪里实际提交错误报告。

我想这是“这里的其他人会发生这种情况吗”、“在修复之前我如何解决这个问题”以及“我应该将错误报告提交给谁,Chromium 还是 Edge?”的组合。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...