【发布时间】:2015-12-22 20:41:33
【问题描述】:
更新:显然这是accessibility scheme of Flex Spark Components的一部分
按钮控件按空格键激活按钮控件。要取消激活按钮,请按 Tab 键将焦点移开 释放空格键之前的 Button 控件。
我猜它可以通过编译器指令关闭:Accessibility best practices
问题:Spark Button 是否有任何原因会捕获键事件,尤其是“空格键”键事件?
背景:我继承并维护了一个在 Flex 4.6 中完成的大型遗留项目。我看到Spark Button 的奇怪行为。本质上,一旦按钮被点击(即获得焦点),keyEvent(空格键)将触发附加到按钮的点击事件处理程序。
很奇怪,对吧?
该按钮在MX:Module 内的MXML(下)中定义。该模块具有附加到舞台的关键事件侦听器,但这些事件处理程序对按钮不执行任何操作:
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, echoKeyDownHandler);
this.stage.addEventListener(KeyboardEvent.KEY_UP, echoKeyUpHandler);
如果我在按钮的事件处理程序中放置一个跟踪语句以在发生这种奇怪行为时检查事件类型,则该类型将报告为click。我在Spark Button 的文档中没有看到任何关于捕获此类关键事件的内容。
<s:Button id="toggleBtn"
label="Editor"
click="toggleBtn_clickHandler(event)"
x="943" y="8"/>
【问题讨论】:
标签: actionscript-3 apache-flex air flex4