0

when having several elements like radiobuttons, which - when selected - have additional fields the tab ordering is not properly working. 事实上(在我的项目中)选项卡被“夹在”单选按钮和一个日期字段之间。

三个带有附加输入元素的单选按钮

这是一个无法正常工作的最小示例。如果您运行该示例并按制表符浏览所有字段,则制表位在第一个单选按钮 (=ok) 处停止,然后在日期字段上停止 (=ok,因为所有单选按钮都应被视为一个制表位)。但是如果您再次按 Tab,它会跳转到第三个单选按钮(=false,因为已经到达第一个单选按钮)并最终到达文本输入(=ok)。

在我的项目中,有更复杂的形式和更奇怪的行为。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx">
    <s:VGroup>
        <s:RadioButton label="use no data"/>
        <s:HGroup>
            <s:RadioButton label="use date"/>
            <mx:DateField  />
        </s:HGroup>
        <s:HGroup>
            <s:RadioButton label="use text"/>
            <s:TextInput />
        </s:HGroup>
    </s:VGroup>
</s:Application>
4

1 回答 1

0

我的解决方案是给出 tabIndex 值,其中 radiobutton-tabIndex-values 都在其余元素的值之前(在本例中为 datefield + textinput)

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" >
    <s:VGroup>
        <s:RadioButton label="use no data" tabIndex="1" />
        <s:HGroup>
            <s:RadioButton label="use date" tabIndex="2" />
            <mx:DateField tabIndex="100" />
        </s:HGroup>
        <s:HGroup>
            <s:RadioButton label="use text" tabIndex="3" />
            <s:TextInput tabIndex="101" />
        </s:HGroup>
    </s:VGroup>
</s:Application>
于 2012-12-28T14:26:57.210 回答