如果有焦点,如何让空格键上的按钮不亮?

use*_*270 3 apache-flex

我试图阻止的行为是在用户点击按钮后,按钮保持焦点,然后如果用户点击空格键,则按钮再次触发.所以我认为可以通过将焦点设置在别处,或者通过让按钮忽略空格键来解决.我已经尝试在按钮上添加以下keyDown事件侦听器,但它不起作用.

private function btn_keyDown(event:KeyboardEvent):void {
  // try to ignore spaces, i.e. don't click on SPACE when it has focus
  if (event.keyCode == Keyboard.SPACE) {
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试通过执行以下操作来更改焦点,在单击按钮时调用的函数结束时:

stage.focus = parent;
Run Code Online (Sandbox Code Playgroud)

但那也不起作用.

小智 7

我有同样的问题,但发现了一个更好的解决方案,不涉及自定义按钮类或变量排球.

如果您不关心您的按钮是Tab键顺序的一部分,只需将"focusEnabled"属性设置为FALSE,这将停止空格键(并输入按钮)触发按钮的单击事件.