代码之家  ›  专栏  ›  技术社区  ›  Roy Tang

如何在IE中使用Javascript集中无线电控制?

  •  0
  • Roy Tang  · 技术社区  · 17 年前

    鉴于以下代码:

    function test() {
        document.forms[0].TEST[0].focus();
    }
    <form>
        <input type="button" value="Test" onclick="test()" />
        <input type="radio" name="TEST" value="A">A
        <input type="radio" name="TEST" value="B">B
    </form>

    在IE6中,点击按钮不会聚焦控件,除非我已经在收音机中至少点击了一次,在这种情况下它会工作=/

    你知道我应该如何集中控制吗?当然,上述方法在FF中非常有效。

    编辑:我发现控件正在聚焦,除了单选按钮周围的高亮框没有被渲染。(我可以点击空格键激活单选按钮,也可以使用箭头键更改激活按钮)。所以问题变成了:我如何强制聚焦高亮框渲染?

    3 回复  |  直到 7 年前
        1
  •  0
  •   Canavar    17 年前

    实际上它是聚焦的,你可以通过聚焦第二个项目来测试它,点击按钮点击空格后,你可以看到选中的第二个项目。这表明项目正在获得焦点,但我认为你指的是焦点后的虚线选择。我不知道该怎么做。

        2
  •  0
  •   Alsciende    17 年前

    Internet Explorer的“可访问性高级选项”中有一个选项,上面写着“使用选择或焦点移动系统光标”。如果你有办法传播IE设置,这可能是一个解决方案。

    编辑:它不起作用

        3
  •  0
  •   arhak Martin Nycander    9 年前

    你可以为焦点的轮廓强制任何样式

    function test() {
        document.forms[0].TEST[0].focus();
    }
    /* if this CSS rule is overrode by another one, then strengthen the selector of this rule to make it more specific (or use "!important") */
    input[name=TEST]:focus {
        outline: 1px dotted blue;
    }
    <form>
        <input type="button" value="Test" onclick="test()" />
        <input type="radio" name="TEST" value="A" />
        <input type="radio" name="TEST" value="B" />
    </form>