2010-03-12 43 views

回答

1

在文本区域(通过箭头键表示),而无需时间实际编写的代码,这里就是我会做概念:

  1. 如果TextArea不可编辑,添加EventListener检查,看看是否TextArea当前具有焦点。当TextArea具有焦点时,EventListener应该创建另一个寻找键盘事件的EventListener

  2. 在你的键盘事件EventListener中,检查被按下的键是否是一个箭头键。如果它是一个箭头键,则捕获事件并不做任何事情。

  3. TextArea失去焦点时,删除EventListener,检查被按下的箭头键。

我希望这有助于!

编辑: 当键盘上的按键被按下时,它有一个特定的keyCode Flex可以用来判断哪个键被按下。箭头键是37 - 40

从一个例子(从Adobe Live Docs)采取:

<mx:Script> 
    <![CDATA[ 
    private function initApp():void { 
     myTextArea.addEventListener(KeyboardEvent.KEY_UP, keyHandler); 
    } 

    private function keyHandler(event:KeyboardEvent):void { 
     if(event.keyCode >= 37 && event.keyCode <= 40) 
     { 
      event.stopImmediatePropagation(); 
     } 
    } 
    ]]> 
</mx:Script> 
+0

感谢这个答案 – Monty 2010-03-13 04:37:05

+0

无后顾之忧。如果这有助于回答您的问题,请将其标记为可接受的答案,以便可以帮助其他人。 :) – 2010-03-15 15:07:59

+0

感谢您的回答.... 我已经使用了这个解决方案,但是我不想操作箭头键...... – Monty 2010-03-25 11:53:46

相关问题