Forum Programmation.web Selection

Posté par  (site web personnel) .
Étiquettes : aucune
0
12
mai
2010
Bonjour à tous,

En Html/Javascript. Prenons le cas concret, j'ai un div avec du contenu HTML, rien de spécial jusque là. Je voudrais highlighté une partie de contenu.

Pour cela, disons que j'ai l'offset du premier caractère et l'offset du dernier caractère dans le div (quelques-soient les tags HTML dans mon div).

Je voudrais faire la sélection de cette zone de texte de manière simple et ensuite mettre tout ce bloc dans un nouveau div.

Est-ce possible ? Si oui comment ? Et en plus ça doit fonctionner dans tous les navigateurs (au moins ceux récents).

Deuxième question, lorsque l'utilisateur sélectionne du contenu HTML, comment récupérer l'offset du premier caractère et du dernier caractère (qui seront réutilisé lorsqu'il faudra ré-highlighter l'HTML).

(attention, je ne parle pas de textbox)
Merci beaucoup !!
  • # Éditeurs de texte sur le web

    Posté par  . Évalué à 2.

    Tu peut regarder du cotés des éditeurs de texte, et des fonctions createRange, getSelection.

    Envoyé depuis mon lapin.

  • # avec jquery

    Posté par  . Évalué à 1.

    Avec jquery, je ferais qqch du genre :

    Disons que tu as ce contenu :

    <div id="mondiv">Un texte dont une partie doit être mis en valeur</div>

    var contenu = $("#mondiv").html ();
    var part1 = contenu.substring (0, pos1);
    var part2 = contenu.substring (pos1, pos2);
    var part3 = contenu.substring (pos2, contenu.length);

    (à quelque chouia près avec les indices ...)

    Ensuite, tu mets en valeur ta part2, tu reconstruis le tout et tu remplaces le contenu de ton div avec le résultat :

    $("#mondiv).html (part1+''+part2+''+part3);
    • [^] # Re: avec jquery

      Posté par  . Évalué à 1.

      Il fallait lire :

      $("#mondiv).html (part1+'<strong>'+part2+'</strong>'+part3);

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.