Что лучший способ состоит в том, чтобы заставить кнопку Flex 3 отвечать на клавишу Enter?

Вы можете просто вычислить производные и записать их самостоятельно

dnorm_deriv1 <- function(x, mean = 0, sd = 1) {
  return(-((x-mean)/(sd^2))*dnorm(x, mean, sd))
} 

dnorm_deriv2 <- function(x, mean = 0, sd = 1) {
  return((((x-mean)^2) / (sd^4))*dnorm(x, mean, sd) 
          - (1/sd^2)*dnorm(x, mean, sd))
}

curve(dnorm, -4, 4, ylim = c(-0.4, 0.4), col = 'blue')
curve(dnorm_deriv1, -4, 4, add = T, col = 'red')
curve(dnorm_deriv2, -4, 4, add = T, col = ' green')
abline(v=0, h=0)

curve(dnorm(x, 2, 2), -4, 8, ylim = c(-0.1, 0.2), col = 'blue')
curve(dnorm_deriv1(x, 2, 2), -4, 8, add = T, col = 'red')
curve(dnorm_deriv2(x, 2, 2), -4, 8, add = T, col = ' green')
abline(v=2, h=0)

enter image description here

9
задан Jim In Texas 20 January 2009 в 19:02
поделиться

6 ответов

Несомненно, Вы могли сделать что-то вроде этого:

<mx:Script>
    <![CDATA[
        import mx.controls.Alert;

        private function btn_click(event:MouseEvent):void
        {
            Alert.show("Clicked!"); 
        }

        private function btn_keyDown(event:KeyboardEvent):void
        {
            if (event.keyCode == Keyboard.ENTER)
                btn.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
        }
    ]]>
</mx:Script>

<mx:Button id="btn" label="Click Me" click="btn_click(event)" keyDown="btn_keyDown(event)" />

... хотя я не огромный поклонник диспетчеризации событий на объектах за пределами тех объектов. Более чистый подход мог бы быть должен разделить Кнопку на подклассы, добавьте слушателей и обработчики в Вашем подклассе, и затем диспетчеризируйте событие щелчка из того класса. Но это должно помочь проиллюстрировать тезис.Удачи!

8
ответ дан 4 December 2019 в 13:05
поделиться

Для чего-то как форма входа в систему необходимо на самом деле использовать mx:form - вот фрагмент кода, который иллюстрирует его:

<mx:Form defaultButton="{loadButton}">
<mx:TextInput id="feedURL" />
<mx:Button id="loadButton" label="Load" click="someHandler(event)" />
</mx:Form>

Введите URL и совершите нападки, вводят, обманывают, ожидаемое поведение.

Погугленный отсюда.

3
ответ дан 4 December 2019 в 13:05
поделиться

Попробуйте "консервативное" событие; это может быть диспетчеризировано в любом случае. Иначе Вы, вероятно, смотрите на использование "keyDown" и проверку клавиши, которая была нажата.

0
ответ дан 4 December 2019 в 13:05
поделиться

Еще лучше

    private function setValidationFocus(formObject:Object):void
    {
        formObject.setFocus();
        formObject.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OUT));  // sneaky sneaky
        formObject.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OVER));
    }
1
ответ дан 4 December 2019 в 13:05
поделиться

Если вы отправляете форму, например диалоговое окно входа в систему или что-то подобное, свойство "enter" в TextField является отличным решением:

3
ответ дан 4 December 2019 в 13:05
поделиться

Я смотрел на ту же проблему, но ответ Кристиана Нунциато мне кажется лучшим. Еще одна вещь, которую можно добавить к его решению, я думаю, что пузырящийся, флаг в btn.dispatchEvent (new MouseEvent (MouseEvent.CLICK)) , должно быть установлено значение false (btn.dispatchEvent (new MouseEvent (MouseEvent.CLICK, false))) , поскольку событие должно быть изолировано на кнопке.

0
ответ дан 4 December 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: