Détectez ce qui est sélectionné (en surbrillance) ou cliquez sur un élément sur une page?

Comment faire pour détecter ce qui a été sélectionné sur une page dans un navigateur? Exemple: cliquez, maintenez, sélectionnez 3 mots et 1 image sur une page, relancez.

Sous-question: Comment détecter la lettre sur laquelle quelqu'un a cliqué?

Sans utilisation: Un injecteur à plomb qui brise tout ou un plugin WYSIWYG

J'espère que ce n'est pas seulement un type d'interaction de navigateur que vous ne pouvez pas détecter.

Il pourrait y avoir de nombreuses utilisations, mais mon objectif est un simple éditeur de page «en direct», ou du moins une façon de savoir ce que quelqu'un clique sur / choisissant en dehors de l'identité d'un élément.

window.getSelection() est ce dont vous avez besoin dans tous les principaux navigateurs sauf IE <9, qui possède une API différente. window.getSelection() renvoie un objet Selection ( spec ) à partir duquel vous pouvez extraire une plage DOM ( spec ) représentant la sélection.

Pour IE <9, vous pouvez consulter document.selection ou utiliser une bibliothèque telle que mon propre Rangy , qui fournit la même API basée sur les standards dans tous les principaux navigateurs.