Bonjour,
pour m'amuser, et un peu également aussi pour pouvoir me resservir de tout ça par la suite, j'aimerais réaliser un "editeur de texte" comme on en trouve sur n'importe quel forum pour poster un message.
J'imagine bien qu'il est tout à fait possible de prendre des templates qui font tout ça directement, mais j'aimerais bien re-inventer la roue sur ce coup là^^
========================
Enfin bref, typiquement, quand je sépare niveau conception, je vois deux objets principaux:
- Une zone de saisie de texte.
- Une zone avec des boutons.
Donc coté design, aucun problème, ce sont des éléments basiques j'en fais ce que je veux.
Mais, coté "traitement"
il va falloir traiter les opérations offerts par les boutons, en passant j'imagine par du javascripts.
En admettant que j'ai un unique bouton (b pour mettre en gras par exemple).
Je soulève 3 cas différents:
a- La zone de texte est vide --> En cliquant sur [b], on va insérer du texte, ça ne pose pas de problème
b- La zone de texte n'est pas vide et aucun texte n'est sélectionné
c- La zone de texte n'est pas vide et du texte est sélectionné
Pour le cas b, il faut insérer les balises vides à la position du curseur en recopiant ce qui est après et avant le curseur. Hors, là il me manque un peu de technique et je ne vois pas comment faire ça en javascript. Je suis capable de récupérer le texte d'un composant, mais comment déterminer à quel endroit se situe le curseur ? Mystère, et j'aimerais bien un petit indice^^
Pour le cas c, c'est plus ou moins le même problème sauf qu'en plus il faudra récupérer le texte sélectionné (j'ai jamais fais, mais je pense qu'il doit y avoir quelques fonctions pour récupérer ce genre d'event, donc je devrais me débrouiller); la vrai difficulté de base vient donc du point b.
Notez que j'évoque javascript mais c'est surtout parce que je ne vois pas trop comment faire ça nativement avec simplement html/css.
Merci à vous !
Partager