FLEX - отключить пробел - PullRequest
1 голос
/ 06 марта 2012

У меня есть приложение с вкладками (с помощью TabNavigator).

Когда он запускается, я переключаю вкладку на номер 2 (по умолчанию это вкладка 1). Мне нужно иметь возможность удерживать пробел и перетаскивать мышь для панорамирования, но когда я делаю это, он переключается обратно на первую вкладку. Таким образом, пробел вызывает его переключение.

Я пытался использовать пользовательскую девочку, которая расширяет tabNavigator, как показано ниже, но она не работает. Также попытался установить focusEnabled = false без удачи.

Есть идеи, как мне это решить?

Большое спасибо заранее, Стиан Берг Ларсен

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 Ответ

1 голос
/ 06 марта 2012

Это, вероятно, вызвано тем, что вы не прекращаете свое событие от пузырей.

Попробуйте это:

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