我不想在textArea中以非可编辑模式允许行式滚动

时间:2010-03-12 14:27:49

标签: flex

我不想在textArea中以不可编辑的模式允许按行滚动(通过箭头键)

1 个答案:

答案 0 :(得分:1)

没有时间实际编写代码,这就是我在概念上要做的事情:

  1. 如果您的TextArea无法修改,请添加EventListener,以检查TextArea当前是否具有焦点。当TextArea有焦点时,EventListener应创建另一个EventListener来查找键盘事件。

  2. 在键盘事件EventListener中,检查按下的键是否为箭头键。如果是箭头键,则捕获事件并不执行任何操作。

  3. TextArea失去焦点时,请移除检查所按箭头键的EventListener

  4. 我希望这有帮助!

    修改 当键盘上按下某个键时,它有一个特定的键码,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>