在一个Actionscript 3程序中,我使用此代码将一个事件监听器添加到TextField:
var tf:TextField = new TextField();
tf.addEventListener(KeyboardEvent.KEY_DOWN, handleText);
只有在我单击TextField时才会调用handleText()。有什么方法可以在鼠标悬停在TextField上时接收键盘事件(无需点击)?
答案 0 :(得分:1)
TextField有自己的键盘事件侦听器,如果其模式为input
,它将用于更改文本。要在目标没有焦点时捕获键盘事件,请将侦听器添加到stage
,并检查鼠标是否位于相关文本字段上方。为此,您可以在MOUSE_OVER
中设置一个布尔标志,并将其放在附加到文本字段的MOUSE_OUT
侦听器中。然后,如果该标志处于启用状态,您可以自己解析键盘事件,也可以通过dispatchEvent()
调用现有KeyboardEvent
对象将其传输到TextField。