CS4, CS3 caretIndex Word
The code also works with flash cs3
import fl.controls.TextInput;
import fl.controls.Label;
var myLabel:Label = new Label();
myLabel.text = "Caret Index Word";
myLabel.x = 5;
myLabel.y = 0;
addChild(myLabel);
var textInput:TextInput = new TextInput();
textInput.x = 100;
textInput.y = 10;
addChild(textInput);
var t:Timer = new Timer(100);
t.addEventListener(TimerEvent.TIMER, caretindex);
function caretindex(e:TimerEvent):void {
var caretIndex:Number = textfield.getCharIndexAtPoint(textfield.mouseX, textfield.mouseY)
if(caretIndex == -1) {
return;
}
var str:String = textfield.text;
var words:Array = str.split(' ');
var n:Number = 0;
while(n<=words.length){
var subset:Array = words.slice(0, n);
var sliceString:String = subset.join(' ');
if(sliceString.length>caretIndex) {
textInput.text = String(subset[n-1]);
break
}
n++;
}
}
t.start();