PDA

Просмотр полной версии : как поймать Selection


processor
21.06.2005, 21:14
Как поймать Selection ?

Когда поле теряет фокус, Selection сразу обнуляется. Пробовал ловить по Textfield.onKillFocus - но selection обнуляется до этого события.

Пробовал перевести textfield в символ и поймать по Rollout - но появляется значок руки при наведении на поле.

Вообщемто я его словил кое как ( очень извратно . При Rollover на другое поле или при Mousemove постоянно сохранять значения ) , но мне не нравится.

Как это сделать легко ? Selection для этого и предначен ведь.

silin
21.06.2005, 22:03
Selection.addListener(l={})
l.onSetFocus = function( o,n){
trace('oldFocus: '+o);
trace('newFocus: '+n);
}

processor
21.06.2005, 22:06
В смысле мне надо достать выделенный кусок текста в DYnamic поле.

silin
21.06.2005, 23:13
вариант:
this.createEmptyMovieClip('cntr',0);
var c=this.cntr;
tf.onSetFocus = function(){
c.onEnterFrame=function(){
this.s=Selection.getBeginIndex();
this.e=Selection.getEndIndex();
}
}
tf.onKillFocus=function(){
trace(this.text.substring(c.s,c.e));
delete c.onEnterFrame;
}
зы: пардон, невнимательно прочел первый пост: такой вариант упоминался, с онмаусмувом даже складнее:
Mouse.addListener(tf)
tf.onSetFocus = function(){
this.onMouseMove=function(){
this.s=Selection.getBeginIndex();
this.e=Selection.getEndIndex();
}
}
tf.onKillFocus=function(){
trace(this.text.substring(this.s,this.e));
delete this.onMouseMove;
}