Partage
  • Partager sur Facebook
  • Partager sur Twitter

Filtre de selection, possible ou pas ?

Sujet résolu
    12 avril 2009 à 11:30:35

    Bonjour,
    J'utilise la commande document.selection pour obtenir la selection au curseur de texte dans une "div"(html). Le probleme qui se pose est que je veux qu'il filtre les selecions. Je m'explique : j'utilise la selection pour ensuite modifier le texte selectionné (le mettre en gras par exemple) dynamiquement. Le filtre serait qu'il ne puisse selectionner que le contenu d'un div, pas plus. Avec le script que j'utilise, on peux modifier les textes en dehors du div et les mettres en gras par exemple. C'est ce que j'aimerai eviter.
    Est-ce possible ?
    Merci d'avance en esperant que vous avez compris mon probleme. lol
    ;)
    • Partager sur Facebook
    • Partager sur Twitter
      12 avril 2009 à 12:20:35

      Je ne suis pas sûr que tu puisses empêcher la sélection hors du div... Et même si c'était possible, je te le déconseille, ça bride carrément l'utilisateur.

      Non, ce qu'il faudrait, c'est que tu puisses savoir si la sélection est bien une partie du div...
      Eventuellement par simple RegExp ? :euh:
      • Partager sur Facebook
      • Partager sur Twitter
        12 avril 2009 à 13:24:40

        En faite, j'aimerai juste savoir s'il existe pour id = document.getElementById("LaDiv") une condition du genre if(id.selection) etc. Ca ne marche pas car la methode selection ne s'applique pas à l'element id. Y-a-t-il un moyen de recuperer le nom de l'element d'où provient une selection ?
        • Partager sur Facebook
        • Partager sur Twitter
          12 avril 2009 à 15:33:48

          Bon, je viens de faire quelques recherches... et je crois que cette fonctionnalité n'est pas encore disponible...
          Même si le MDC mentionne son existence... :euh:

          Une solution quand même, pourrait être de faire un textarea-div-like...
          En gros un textarea en mode readonly, mais avec un CSS qui le fait paraître être un div...
          • Partager sur Facebook
          • Partager sur Twitter
            12 avril 2009 à 15:57:32

            Justement, j'essaie en faite avec ca de creer un editeur de texte. Donc, le mode readonly ne convient pas ^^"
            Merci pour la recherche et la reponse ;)

            Cependant, j'ai une derniere petite question, si ca ne te derange pas ^^" : si j'utilise une iframe, le code javascript sera-t-il accessible depuis la page principale(en dehors de la frame) ?
            • Partager sur Facebook
            • Partager sur Twitter
              12 avril 2009 à 18:31:57

              Ca j'en sais rien...

              Mais c'est en effet à l'aide d'iframes que sont réalisés les éditeurs WYSIWYG...

              As-tu regardé les éditeurs existants ?
              • Partager sur Facebook
              • Partager sur Twitter
                12 avril 2009 à 19:33:30

                J'ai essayé du moins mais ils font tout pour que ca soit incomprehensible... maintenant que je connais le nom des editeurs javascript(wyswig, merci au passage), je vais faire de plus amples recherches ! merci ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  12 avril 2009 à 20:27:21

                  wysiwyg = What You See Is What You Get ! ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 avril 2009 à 21:41:09

                    J'ai trouvé la solution ! En effet : il suffisait d'ajouter, avant le execCommand, un simple "focus" sur la div(par exemple : nom de la div = test. Il faut mettre :
                    teste = document.getElementsByID("test");
                    window.teste.focus();
                    window.teste.document.execCommand('bold', false, ''); )
                    Ainsi, des que la selection est EN DEHORS de la div, le curseur est directement replacer DANS la div avant l'execution du code sauf si le curseur est deja à l'interieur de la div. Ainsi, la commande n'est pas executé en dehors de la div mais simplement à l'interrieur.
                    *En espérant que ca en aidera plus d'un ;)*

                    Merci encore Golmote ;)
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Filtre de selection, possible ou pas ?

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown