FLEX - 禁用空格键

时间:2012-03-06 12:15:11

标签: actionscript-3 flex tabnavigator

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

启动时,我将tab切换到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);
    }

}

}

1 个答案:

答案 0 :(得分:1)

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

试试这个:

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