IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Cliquer sur un texte sélectionné pour récupérer son contenu


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 193
    Points : 68
    Points
    68
    Par défaut Cliquer sur un texte sélectionné pour récupérer son contenu
    Bonjour,

    Je crois que mon problème est un peu épineux...je voudrais créer un script qui permette, quand un texte est sélectionné dans une page html, d'en récupérer le contenu par clic sur ce texte, pour l'utiliser dans un fonction par exp.

    Voila ce que je sais faire: récupérer le contenu d'un texte sélectionné, avec ce bout de code que j'ai trouvé le net:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function getSelectedText() {
        if (window.getSelection) {
            // This technique is the most likely to be standardized.
            // getSelection() returns a Selection object, which we do not document.
            return window.getSelection().toString();
        }
        else if (document.getSelection) {
            // This is an older, simpler technique that returns a string
            return document.getSelection();
        }
        else if (document.selection) {
            // This is the IE-specific technique.
            // We do not document the IE selection property or TextRange objects.
            return document.selection.createRange().text;
        }
    Maintenant ce que je ne sais pas faire: détecter un clic dans la zone de texte sélectionnée.
    Un problème corolaire est que tout clic désélectionne le texte sélectionné...

    Merci beaucoup pour vos éventuelles réponses!

    Edit: incroyable... je viens de poster ce message, je continue mes recherches sur google pour résoudre mon pb, et je tombe sur un lien qui a l'air de traiter de mon problème. C'est le lien vers le message que je viens de poster, déjà référencé sur google!

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Salut,

    mettant de côté les incommodités inter-browsigateur, je te propose ceci :
    Code plus ou moins JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    document.body.zyeuteEvent('mousedown', function( évente ) {
        var text = getSelectedTexte();
        if (text) {
            évente.arrêteCeTruc();
        };
    };
    J’ai fait tout ce que j’ai pu, mais IE refuse de courber l’échine…

    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 193
    Points : 68
    Points
    68
    Par défaut Merci Watilin mais...
    Merci Watilin, mais je ne comprends pas ce que fait ton code...?

    Bon sinon j'ai trouvé une solution qui marche sous ie et firefox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var texte="";
    document.onmouseup= function(){var texte2=getSelectedText();  if (texte2) {
    if (texte2==texte){
     
    //ici mettre le code qu'on veut effectuer en cas de clic
     
    } else { texte=texte2;}
    } else {texte="";}
    }
    -Le premier onmouseup s'effectue quand on relâche la souris après avoir sélectionné le texte, la rien ne se passe mais on mémorise dans la variable texte
    -Au deuxième onmouseup (donc le clic sur le texte sélectionné), le "code qu'on veut effecteur en cas de clic" s'effectue si texte2==texte, donc si on clique sur le texte sélectionné et pas à coté

    Voila!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/07/2011, 23h00
  2. Réponses: 23
    Dernier message: 25/05/2007, 16h36
  3. Réponses: 2
    Dernier message: 22/11/2006, 12h09
  4. Cliquer sur image+texte
    Par Patrick Seuret dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 18/05/2006, 16h37
  5. Cliquer sur zone de liste pour valider la valeur
    Par gwendk dans le forum Access
    Réponses: 7
    Dernier message: 15/05/2006, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo