2009-06-15 27 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