1

我有一个应用程序,它是标签式的(使用 TabNavigator)。

当它启动时,我将选项卡切换到 nr.2(默认为选项卡 1)。我需要能够按住空格键并拖动鼠标进行平移,但是当我这样做时,它会切换回第一个选项卡。所以空格键触发它切换。

我尝试使用扩展 tabNavigator 的自定义 lass,如下面的代码,但它不起作用。还尝试设置 focusEnabled = false 没有运气。

知道我将如何解决这个问题吗?

非常感谢,Stian Berg Larsen

package components
{
import mx.containers.TabNavigator;
import flash.events.KeyboardEvent;

public class myTabNavigator extends TabNavigator
{
    public function myTabNavigator()
    {
        super();
    }

    protected override function keyDownHandler(e : KeyboardEvent) : void {
        if (e.keyCode == 32) { // Spacebar
            return;
        }
        super.keyDownHandler(e);
    }

}

}

4

1 回答 1

1

这可能是因为您没有阻止事件冒泡。

试试这个:

protected override function keyDownHandler(e : KeyboardEvent) : void {
    if (e.keyCode == 32) { // Spacebar
        e.preventDefault();
        e.stopImmediatePropagation();
        return;
    }
    super.keyDownHandler(e);
}
于 2012-03-06T12:18:15.333 回答