89 votes

Déclencheur d'événement de texte sélectionné dans Javascript

Comment déclencher une fonction JavaScript lorsque quelqu'un sélectionne un fragment de texte donné sur une page à l'aide de la souris ?
En outre, y a-t-il un moyen de trouver la position du texte sélectionné sur la page ?

Mise à jour : Pour être plus clair, le fragment de texte peut faire partie d'une phrase ou d'un mot ou d'une phrase ou d'un paragraphe entier.

65voto

karim79 Points 178055

Voici un rapide mashup :

$('div').mouseup(function() {
    var text=getSelectedText();
    if (text!='') alert(text);
});

function getSelectedText() {
    if (window.getSelection) {
        return window.getSelection().toString();
    } else if (document.selection) {
        return document.selection.createRange().text;
    }
    return '';
}​

<div>Here is some text</div>

Démo : http://jsfiddle.net/FvnPS/11/

4voto

ozd Points 419

Je ne suis pas sûr du truc de la souris mais cette ligne fonctionne pour mobile, cela a invoqué chaque fois qu'une modification a été apportée à la sélection de texte -

document.addEventListener('selectionchange', () => {

});

1voto

Macist Points 11

Il y a un événement "Texte sélectionné". Mais seulement pour la zone de texte que j'ai connue.

<textarea onselect="message()" name="summary" cols="60" rows="5">
200
</textarea>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X