2010-04-18 6 views
2

J'ai un élément div contenant du texte. Lorsque l'utilisateur clique sur un mot à l'intérieur de ce div je voudrais mettre en évidence ce mot. Pour ce faire, j'ai besoin de savoir quelle est la position du caractère dans le texte sur lequel le clic s'est produit, pour pouvoir ensuite localiser les espaces à proximité et insérer une mise en forme autour du mot. Trouver l'endroit où le clic s'est produit dans le texte est l'astuce ici.Obtention de texte à l'emplacement sur lequel vous avez cliqué dans un élément HTML

Est-ce que ce genre de chose est possible?

Répondre

2

Si votre page est générée automatiquement, vous pouvez envisager de prétraiter la page en mettant un <span class = 'word'> autour de chaque mot de chaque div sélectionnable. Vous pourriez être en mesure de le faire avec javascript après le fait, et je pense que ce serait votre solution malgré tout, mais le prétraitement le rendrait plus facile. Le problème avec la position absolue du mot est que les utilisateurs peuvent redimensionner leurs polices, ce qui rend cette tâche particulièrement difficile. En entourant chaque mot d'un intervalle, vous pouvez facilement sélectionner le mot sur lequel vous avez cliqué en appliquant l'événement click aux éléments d'étendue.

+0

Cela devrait fonctionner parfaitement. Je vais envelopper chaque côté du serveur de mots comme suit: ... Merci pour la réponse rapide. – Marc

Questions connexes