使用Flash AS2事件处理程序中的箭头键防止焦点更改?

时间:2016-11-03 16:45:16

标签: flash actionscript-2 flash-cs5.5

我在工作中继承了一些旧的Flash媒体。客户提出的要求以及时间限制要求我们不能使用高于Flash Player 9和ActionScript 2.0的设置发布设置的任何内容。

我有一个充当计时器栏的组件,当我按下向左或向右箭头键时,我试图让它倒带或快进电影5秒,以便于访问。但是,在keydown处理程序触发后,左右箭头键会将键盘焦点移动到下一个或上一个tabbable项。

我怎么能阻止这个?使用AS3或JavaScript,我可以调用Event.preventDefault(),我很确定会解决这个问题,但我似乎没有在AS2中拥有那么奢侈。

1 个答案:

答案 0 :(得分:0)

我最终要解决这个问题,至少现在是将搜索栏的_focusRect属性设置为false,然后添加onKillFocusonSetFocus处理程序删除并添加一个看起来像黄色轮廓的发光滤镜。 _focusRect = false实现了我所需要的功能,因为它可以阻止箭头键移动焦点,但是我仍然可以使用Tab键来切入和切出对象。来自documentation for MovieClip._focusRect

  

如果_focusrect属性设置为false,则该影片剪辑的键盘导航仅限于Tab键。所有其他键(包括Enter键和箭头键)都将被忽略。要恢复全键盘导航,必须将_focusrect设置为true。

唯一的问题是,在执行此操作时,您需要确保为可能被视为理所当然的交互添加您自己的处理程序,例如点击Enter或Space。