我不想在textArea中以不可编辑的模式允许按行滚动(通过箭头键)
答案 0 :(得分:1)
没有时间实际编写代码,这就是我在概念上要做的事情:
如果您的TextArea
无法修改,请添加EventListener
,以检查TextArea
当前是否具有焦点。当TextArea
有焦点时,EventListener
应创建另一个EventListener
来查找键盘事件。
在键盘事件EventListener
中,检查按下的键是否为箭头键。如果是箭头键,则捕获事件并不执行任何操作。
当TextArea
失去焦点时,请移除检查所按箭头键的EventListener
。
我希望这有帮助!
修改强> 当键盘上按下某个键时,它有一个特定的键码,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>