Is the purpose of your control to filter characters entered and disallow
some? If so, just use the restrict property:

<mx:TextInput restrict="-.0123456789"/>
 
And you're done.
 
Just a thought because you're not clear about what you want to
accomplish. While your discovery could definitely be a bug to report to
Adobe--and you should report it anyway--it seems like your custom
control doesn't include any new behavior you won't get by configuring an
out-of-the-box TextInput control.
 
Cheers,
 
Erik

________________________________

From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On
Behalf Of shawnsvacha
Sent: Friday, January 16, 2009 9:53 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] TextEvent.TEXT_INPUT preventDefault not working on
Linux



Has anyone run into this before? On Linux the preventDefault event for a

TextEvent.TEXT_INPUT event does not hide the characters entered. This
works fine on OSX 
and Windows, but not Linux. Here is example code:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml
<http://www.adobe.com/2006/mxml> " 
layout="absolute" xmlns:ns1="*">
<ns1:CustomTextField x="10" y="10" width="500" height="22"/>
</mx:WindowedApplication>

package
{
import flash.events.TextEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFieldType;

import mx.core.UIComponent;

public class CustomTextField extends UIComponent
{
public function CustomTextField()
{
var _customTF:TextField = new TextField();
_customTF.x = 0;
_customTF.y = 0;
_customTF.width = 480;
_customTF.height = 22;
_customTF.type = TextFieldType.INPUT;
_customTF.multiline = true;
_customTF.autoSize = TextFieldAutoSize.LEFT;
_customTF.wordWrap = true;
_customTF.maxChars = 1024;
addChild(_customTF);

_customTF.addEventListener(TextEvent.TEXT_INPUT, dontShowTextInput);

}

private function dontShowTextInput(e:TextEvent):void
{
e.preventDefault();
}
}
}



 

Reply via email to