我在工作中继承了一些旧的Flash媒体。客户提出的要求以及时间限制要求我们不能使用高于Flash Player 9和ActionScript 2.0的设置发布设置的任何内容。
我有一个充当计时器栏的组件,当我按下向左或向右箭头键时,我试图让它倒带或快进电影5秒,以便于访问。但是,在keydown处理程序触发后,左右箭头键会将键盘焦点移动到下一个或上一个tabbable项。
我怎么能阻止这个?使用AS3或JavaScript,我可以调用Event.preventDefault()
,我很确定会解决这个问题,但我似乎没有在AS2中拥有那么奢侈。
答案 0 :(得分:0)
我最终要解决这个问题,至少现在是将搜索栏的_focusRect
属性设置为false
,然后添加onKillFocus
和onSetFocus
处理程序删除并添加一个看起来像黄色轮廓的发光滤镜。 _focusRect = false
实现了我所需要的功能,因为它可以阻止箭头键移动焦点,但是我仍然可以使用Tab键来切入和切出对象。来自documentation for MovieClip._focusRect
:
如果_focusrect属性设置为false,则该影片剪辑的键盘导航仅限于Tab键。所有其他键(包括Enter键和箭头键)都将被忽略。要恢复全键盘导航,必须将_focusrect设置为true。
唯一的问题是,在执行此操作时,您需要确保为可能被视为理所当然的交互添加您自己的处理程序,例如点击Enter或Space。