Obtenir la position du curseur dans un TextField..

Résolu
cs_spanolo Messages postés 6 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 21 juin 2005 - 15 juin 2005 à 09:54
cs_spanolo Messages postés 6 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 21 juin 2005 - 15 juin 2005 à 13:56
Voila mon probleme,

je voudrai obtenir la position du curseur dans le TextField qui possède le focus lorsque j'appuie sur un bouton.
Sauf que si je met le Selection.getCaretIndex() dans le on.release{} du bouton, celui-ci me renvoie -1.. le TextFied a perdu le focus.

quelle solution?
comment detecter chaque changement de position du caret..?

2 réponses

cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
15 juin 2005 à 12:48
Tout simplement............

Selection.getCaretIndex() retourne -1 car aparement AUCUN champ de texte n'a le focus du clavier...

Donc faudrais que dans la fonction on(Press) ( et non on(Release) ) tu utilise une variable temporaire qui contiendra la position du curseur à la Selection( =textField ) courante.

Bon retient surtout ceci!!!!!!

Utilise la fonction, Selection.onSetFocus( ancienFocus , nouveauFocus);
( ancien, nouveauFocus =bouton, movieclip, textfield)
Donc faut d'abord définir un écouteur.....Selection.addListener()

TOUT OBJET : bouton, movieclip, textfield peut gagner ou perdre le focus...

Pour en revenir à ton problème :

<<comment detecter chaque changement de position du caret..?>>

tu met dans une varialbetemporaire la position courante du "caret" ensuite à chaque que ton curseur bouge, tu compare cette "nouvelle" position par rapport à l'ancienne qui se trouve dans la variable.

JESPERE être assez clair, les TexField, etc...C'est pas mon truc!
3
cs_spanolo Messages postés 6 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 21 juin 2005
15 juin 2005 à 13:56
Merci,
en effet c'est surement la facon la plus simple pour s'en sortir..
pour ceux qui auraient le meme probleme :

var monEcouteur = new Object();

monEcouteur.onKeyUp = function () {
_root.caretPos=Selection.getCaretIndex();
}
monEcouteur.onMouseUp = function () {
_root.caretPos=Selection.getCaretIndex();
}
Key.addListener(monEcouteur);
Mouse.addListener(monEcouteur);

.......
0
Rejoignez-nous