0

ラジオボタンのようないくつかの要素がある場合、それらを選択すると、追加のフィールドがあり、タブの順序が正しく機能しません。実際(私のプロジェクトでは)、タブはラジオボタンと1つの日付フィールドの間に「キャッチ」されます。

追加の入力要素を備えた3つのラジオボタン

これは、正しく機能していない最小限の例です。その例を実行し、Tabキーを押してすべてのフィールドを確認すると、タブは最初のラジオボタン(= ok)で停止し、次に日付フィールドで停止します(= ok、すべてのラジオボタンが1つのタブストップとして表示されるため)。ただし、もう一度Tabキーを押すと、3番目のラジオボタン(= false、最初のラジオボタンにすでに到達しているため)にジャンプし、最後にtextinput(= 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 に答える