2009-06-15 59 views
0

按下向上箭头时,文本框的默认行为是,光标将移至开头或第一个字符。我想禁用它,并在按下向上箭头时添加自定义行为。我能够添加自定义行为,但我无法停止默认行为。flex如何禁用文本框向上箭头

有人可以请让我知道我该如何解决我的问题。

谢谢你提前。 firemonk。

回答

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码。

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> 
+0

我发现这在其他一些岗位 KEY_DOWN和KEY_UP无法取消。 cancelable is false;没有默认行为取消 要更改输入的所有文本 - 您应该使用可取消的TEXT_INPUT事件 – firemonkey 2009-06-22 16:22:58

相关问题