flex如何禁用textfield向上箭头

时间:2009-06-15 19:53:56

标签: flex

textfield的默认行为,按下向上箭头时,光标将转到开头或第一个字符。我想禁用此功能,并在按下向上箭头时添加自定义行为。我能够添加自定义行为,但我无法停止默认行为。

有些人可以告诉我如何解决我的问题。

提前谢谢你。 firemonk。

2 个答案:

答案 0 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
        <![CDATA[
            private function onKeyUp(event:KeyboardEvent):void {
                if ( event.keyCode == 38 ) {
                    event.preventDefault();
                }
            }
        ]]>
    </mx:Script>
    <mx:TextInput text="Try me!" keyDown="onKeyUp(event);" />
</mx:WindowedApplication>

38是向上箭头的ASCII码。

答案 1 :(得分:0)

我已经尝试了你建议的例子,但似乎没有用。我有印刷的活动。可取消并且变得虚假。我想不可能为TextField覆盖向上箭头的默认行为。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
        <![CDATA[
            private function onKeyUp(event:KeyboardEvent):void {
                if ( event.keyCode == 38 ) {
                    trace(event.cancelable);
                    event.preventDefault();
                    event.stopImmediatePropagation();
                }
            }
        ]]>
    </mx:Script>
    <mx:TextInput text="Try me!" keyDown="onKeyUp(event);" id="tf"/>
</mx:Application>