【问题标题】:Disable checkbox highlighting禁用复选框突出显示
【发布时间】:2014-12-21 06:30:48
【问题描述】:

当我单击一个复选框,然后在我开始输入后立即突出显示该复选框。当我在突出显示时按空格键时,它会检查它。
有没有办法禁用空格键检查它或只是以某种方式禁用它的突出显示?

【问题讨论】:

标签: javascript jquery html checkbox


【解决方案1】:

这违背了所有用户可访问性文档,所以我真的不建议这样做,但如果你真的想实现这一点,你可以通过在添加 onfocus="this.blur()" 时删除复选框的 focus 来使用 JavaScript:

<input type="checkbox" onfocus="this.blur()" tabindex="-1" />

我不建议这样做的原因是因为这意味着当使用键盘上的 tab 键时该元素不可访问。这就是为什么我还在上面示例中的复选框中添加了tabindex="-1",因为没有它,JavaScript 事件会将选项卡重置为 1,从而无法访问出现在您的复选框之后的所有交互元素。

【讨论】:

    【解决方案2】:

    此代码在释放点击后没有焦点,但仍允许用户使用选项卡切换到复选框并正常使用键盘控件。可能是您将获得的最佳折衷方案。

    document.getElementById('checkbox').addEventListener('mouseup', function() {
        this.blur();
    }, false);
    <input type="checkbox" id="checkbox" />

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 2016-09-14
      • 2011-03-10
      • 1970-01-01
      相关资源
      最近更新 更多