2012-03-06 58 views
1

我有一个标签(使用TabNavigator)的应用程序。FLEX - 禁用空格键

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

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

任何想法我会如何解决这个问题?

非常感谢提前, 了Stian伯格拉森

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

这可能是造成因为你没有冒泡停止您的活动。

试试这个:

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

谢谢。不知怎的,它现​​在适用于我上面发布的代码...奇怪.. 此外,我突然出现错误:内存不足..试图解决它.. – 2012-03-06 12:57:39